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