Страницы

Поиск по вопросам

пятница, 24 января 2020 г.

Обработка ошибки в функции в MS SQL Server

#sql_server


Как Обработать ошибки в пользовательской функции в MS SQL Server? try...catch в ней
не разрешены, а что надо делать?
    


Ответы

Ответ 1



Сформировать ошибку Raise-ом не получится. Но! Можно сделать специально ошибку. Например, сделать SELECT CAST('<Маркер_сообщения>Сообщение' AS Int), что приведет к ошибке CAST-а. А уже выше уровнем, где ловится ошибка обработать следующее сообщение: Conversion failed when converting the varchar value '<Маркер_сообщения>Сообщение' to data type int. Естественно, придется исходное сообщение вырезать и сделать снова RaisError уже с исходным сообщением. Если у вас стандартная процедура обработки ошибок и используется во всех(!) CATCH-ах, то такой подход вполне может сработать.

Комментариев нет:

Отправить комментарий