Исходный код вики TRY CATCH
Редактировал(а) Alexandr Fokin 2023/12/16 14:11
Последние авторы
| author | version | line-number | content |
|---|---|---|---|
| 1 | Обработка ошибок в языке T-SQL — конструкция TRY CATCH | ||
| 2 | https://info-comp.ru/programmirovanie/633-try-catch-in-t-sql.html | ||
| 3 | |||
| 4 | |||
| 5 | {{code language="sql"}} | ||
| 6 | BEGIN TRY | ||
| 7 | --Инструкции, в которых могут возникнуть ошибки | ||
| 8 | DECLARE @TestVar1 INT = 10 | ||
| 9 | DECLARE @TestVar2 INT = 0 | ||
| 10 | DECLARE @Rez INT | ||
| 11 | |||
| 12 | SET @Rez = @TestVar1 / @TestVar2 | ||
| 13 | |||
| 14 | END TRY | ||
| 15 | BEGIN CATCH | ||
| 16 | |||
| 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()) | ||
| 25 | |||
| 26 | --Если exception отличается от указанной, то выбрасываем его вверх | ||
| 27 | If ERROR_NUMBER() <> 8134 | ||
| 28 | THROW; | ||
| 29 | |||
| 30 | END CATCH | ||
| 31 | {{/code}} |