Обработка ошибок в определяемых пользователем функциях

Вывод типа Damas-Milner (часто названный выводом типа Хиндли-Milner) был опубликован в 1983 и был основанием каждой сложной статической системы типов с тех пор. Это была по-настоящему новая идея на языках программирования (допущенный на основе идей, опубликованных в 1970-х, но не сделал практичным до окончания 1980). С точки зрения важности я поднял его с Сам, и методы раньше реализовывали Сам; с точки зрения влияния это не имеет никакого однорангового узла. (Остальная часть мира OO все еще делает изменения на Smalltalk или Simula.)

Изменения на выводе типа все еще теряют значение; изменением я выбрал бы большинство, является Wadler и Blott механизм класса типа для разрешения перегрузки, которая, как позже обнаруживали, предложила очень мощные механизмы для программирования на уровне типа. Конец этой истории все еще пишется.

9
задан Craig Walker 6 August 2009 в 18:11
поделиться

1 ответ

Похоже, что UDF SQL Server немного ограничены в этом (и во многих других) способах.

Вы действительно не можете многое с этим поделать - это (пока) просто Как оно есть. Либо вы можете определить свой UDF, чтобы вы могли сигнализировать об ошибке с помощью его возвращаемого значения (например, возвращая NULL в случае ошибки), либо тогда вам почти придется прибегнуть к написанию хранимой процедуры вместо этого, которая может иметь гораздо больше обработки ошибок и позволяет RAISERROR и т. д.

Так что либо спроектируйте свой UDF так, чтобы он не требовал конкретной сигнализации об ошибках, либо тогда вам придется перестроить свой подход для использования хранимых процедур (которые могут иметь несколько параметров OUTPUT и, таким образом, может также возвращать код ошибки вместе с вашими данными, если вам это нужно) или управляемый код CLR для ваших UDF.

Извините, я не

7
ответ дан 4 December 2019 в 22:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: