BEGIN TRY
{ sql_statement | statement_block }
END TRY
BEGIN CATCH
[ { sql_statement | statement_block } ]
END CATCH
[ ; ]
----------------------------------------------------
检索错误消息
在 CATCH 块的作用域内,可以使用以下系统函数来获取导致 CATCH 块执行的错误消息:
-
ERROR_NUMBER() 返回错误号。
-
ERROR_SEVERITY() 返回严重性。
-
ERROR_STATE() 返回错误状态号。
-
ERROR_PROCEDURE() 返回出现错误的存储过程或触发器的名称。
-
ERROR_LINE() 返回导致错误的例程中的行号。
-
ERROR_MESSAGE() 返回错误消息的完整文本。该文本可包括任何可替换参数所提供的值,如长度、对象名或时间。
-----------------------------------------------------------
BEGIN TRY
BEGIN TRANSACTION
----------------------------//////////////////////////////
COMMIT TRANSACTION
END TRY
BEGIN CATCH
rollback
DECLARE @ErrMsg nvarchar(4000), @ErrSeverity int
SELECT @ErrMsg = ERROR_MESSAGE(),@ErrSeverity = ERROR_SEVERITY()
RAISERROR(@ErrMsg, @ErrSeverity, 1)
END CATCH
本文转自cnn23711151CTO博客,原文链接:http://blog.51cto.com/cnn237111/476627 ,如需转载请自行联系原作者