Хелпикс

Главная

Контакты

Случайная статья





Перехват исключений



Перехват исключений

 

- обрабатываем ошибку деления на ноль без перехвата исключения, получаем корректные данные и сообщение об ошибке:

 

DECLARE @S FLOAT = 100

DECLARE @C INT = 0

DECLARE @R FLOAT = 0

SET @R = @S/@C

--SELECT @@ERROR

IF @@ERROR > 0 SET @R = NULL

SELECT @R AS [R]

 

- обрабатываем ошибку деления на ноль перехватом исключения, получаем корректные данные без сообщения об ошибке:

 

BEGIN TRY

  SET @R = @S/@C

END TRY

BEGIN CATCH

  SET @R = NULL

--SELECT ERROR_SEVERITY()

END CATCH

SELECT @R AS [R]

 

- обрабатываем ошибку деления на ноль перехватом исключения с проверкой типа исключения:

 

SET @R = @S/0

SET @R = @S/'sfhgjh'

SET @R = @S/10

/* … */

IF ERROR_NUMBER() = 8134

        SET @R = NULL

  ELSE

        PRINT 'ERROR!'



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.