Исходный код вики TRY CATCH

Версия 3.7 от Alexandr Fokin на 2023/12/16 14:01

Скрыть последних авторов
Alexandr Fokin 1.1 1 Обработка ошибок в языке T-SQL — конструкция TRY CATCH
2 https://info-comp.ru/programmirovanie/633-try-catch-in-t-sql.html
3
Alexandr Fokin 3.1 4
Alexandr Fokin 1.1 5 {{code language="sql"}}
Alexandr Fokin 2.1 6 BEGIN TRY
Alexandr Fokin 3.5 7 --Инструкции, в которых могут возникнуть ошибки
8 DECLARE @TestVar1 INT = 10
9 DECLARE @TestVar2 INT = 0
10 DECLARE @Rez INT
Alexandr Fokin 2.1 11
Alexandr Fokin 3.5 12 SET @Rez = @TestVar1 / @TestVar2
Alexandr Fokin 2.1 13
14 END TRY
15 BEGIN CATCH
16
Alexandr Fokin 3.5 17 --Информация об exception
18 print(getdate())
19 print(ERROR_NUMBER())
20 print(ERROR_MESSAGE())
21 print(ERROR_STATE())
22 print(ERROR_SEVERITY())
23 print(ERROR_PROCEDURE())
24 print(ERROR_LINE())
Alexandr Fokin 2.1 25
Alexandr Fokin 3.5 26 --Если exception отличается от указанной, то выбрасываем его вверх
27 If ERROR_NUMBER() <> 8134
28 THROW;
Alexandr Fokin 2.1 29
30 END CATCH
Alexandr Fokin 1.1 31 {{/code}}