Установите ARITHABORT и ANSI_WARINGS ON с помощью TRY - CATCH - PullRequest
0 голосов
/ 20 сентября 2019

Я пытаюсь проверить результат, когда ARITHABORT и ANSI_WARINGS включены на уровне совместимости 80 и уровне совместимости 140. Я использую TRY - CATCH, чтобы также перехватывать ошибки домена.Результат отличается на двух уровнях.На уровне совместимости 80 условия ошибки приводят к завершению запроса, и предложение CATCH не выполняется.На уровне совместимости 140 условия ошибки приводят к завершению запроса и выполнению предложения CATCH.

Можете ли вы объяснить, почему они отличаются по двум уровням совместимости?

Это мой код:

SET ARITHABORT ON
SET ANSI_WARNINGS ON

BEGIN TRY
    SELECT SQRT(-1)
    PRINT N'OSQL Success'
END TRY
BEGIN CATCH
    PRINT N'OSQL Failure'
END CATCH
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...