在 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!