try catch raise error

Объясните, пожалуйста, почему два аналогичных пакета, а вывод разный? введите сюда описание изображения

BEGIN TRY
    RAISERROR('Деление на ноль', 11, 3);
    PRINT 'TRY'
END TRY
BEGIN CATCH
   PRINT 'CATCH'
END CATCH;
GO

BEGIN TRY        
    RAISERROR('Деление на ноль', 10, 3);
    PRINT 'TRY'
END TRY
BEGIN CATCH
   PRINT 'CATCH'
END CATCH;
GO

Ответы (1 шт):

Автор решения: Geminy1653

Спасибо за ответ. Думаю это стоит процитировать

Цитата

Инструкция PRINT не зависит от блоков TRY, в то время как инструкция RAISERROR, выполняемая с уровнем серьезности от 11 до 19 в блоке TRY, передает управление процессом соответствующему блоку CATCH. Задайте уровень серьезности, равный 10 или меньше, чтобы инструкция RAISERROR возвращала сообщения из блока TRY без вызова блока CATCH.

→ Ссылка