#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-ах, то такой подход вполне может сработать.
Комментариев нет:
Отправить комментарий