Презентации, доклады, проекты по информатике

Обработка ошибок
Обработка ошибок
TRY/CATCH Ошибки с уровнем серьезности больше 10 и меньше 20 в блоке TRY приводят к передаче управления блоку CATCH. Ошибки с уровнем серьезности 20 и больше, которые не закрывают соединения, также обрабатываются блоком CATCH. Ошибки компиляции и некоторые ошибки выполнения программы, задействующие компиляцию уровня инструкции, прерывают выполнение пакета немедленно и не передают управление CATCH. Если ошибка произошла в блоке CATCH, транзакция прерывается и ошибка возвращается вызывающему приложению, если блок CATCH не вложен в блок TRY. В блоке CATCH можно выполнить фиксацию или откат текущей транзакции, если транзакция не может быть зафиксирована и ее необходимо откатить. Для проверки состояния транзакции можно запросить функцию XACT_STATE. Функции CATCH ERROR_NUMBER — возвращает номер ошибки; ERROR_MESSAGE — возвращает сообщение об ошибке; ERROR_SEVERITY — возвращает уровень серьезности ошибки; ERROR_LINE — возвращает номер строки в пакете, где произошла ошибка; ERROR_PROCEDURE — имя функции, триггера или процедуры, которые выполнялись в момент возникновения ошибки; ERROR_STATE — состояние ошибки
Продолжить чтение