在 try-catch 塊中引發錯誤

RAISERROR 函式將在 TRY CATCH 塊中生成錯誤:

DECLARE @msg nvarchar(50) = 'Here is a problem!'
BEGIN TRY
    print 'First statement';
    RAISERROR(@msg, 11, 1);
    print 'Second statement';
END TRY
BEGIN CATCH
    print 'Error: ' + ERROR_MESSAGE();
END CATCH

第二個引數大於 10 的 RAISERROR(本例中為 11)將在 TRY BLOCK 中停止執行並引發將在 CATCH 塊中處理的錯誤。你可以使用 ERROR_MESSAGE() 函式訪問錯誤訊息。此樣本的輸出是:

First statement
Error: Here is a problem!