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