SQL Server Try Catch错误处理
2008-07-18 15:27
477 查看
一。语法要点:
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() 返回错误消息的完整文本。 该文本可包括任何可替换参数所提供的值,如长度、对象名或时间。
二。实例:
Step 1:
Create PROCEDURE SysLogError
AS
BEGIN
Insert into SystemErrorLog
(SPName,Description,LogTime)
Values
(ERROR_PROCEDURE(),Convert(nvarchar(MAX),ERROR_LINE()) + ':' + ERROR_MESSAGE(),GetDate())
END
Step 2:
BEGIN TRY
BEGIN TRANSACTION;
。。。。
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
BEGIN
ROLLBACK TRANSACTION;
END
EXECUTE [dbo].[SysLogError];
END CATCH;
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() 返回错误消息的完整文本。 该文本可包括任何可替换参数所提供的值,如长度、对象名或时间。
二。实例:
Step 1:
Create PROCEDURE SysLogError
AS
BEGIN
Insert into SystemErrorLog
(SPName,Description,LogTime)
Values
(ERROR_PROCEDURE(),Convert(nvarchar(MAX),ERROR_LINE()) + ':' + ERROR_MESSAGE(),GetDate())
END
Step 2:
BEGIN TRY
BEGIN TRANSACTION;
。。。。
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
BEGIN
ROLLBACK TRANSACTION;
END
EXECUTE [dbo].[SysLogError];
END CATCH;
相关文章推荐
- SQL Server Try Catch错误处理
- sql server try...catch使用 异常处理 不错的SQL错误处理
- SQL Server Try Catch错误处理
- SqlServer try catch 捕获不到的一些错误及解决方法
- T-SQL存储过程中try和catch以及错误处理的用法例子
- SqlServer try catch 捕获不到的一些错误及解决方法
- SqlServer try catch 捕获不到的一些错误及解决方法
- JavaScript 错误处理, Throw、Try 和 Catch入门
- SqlServer Analysis Services处理维度时的内存错误
- SQL Server BI Step by Step SSIS 7 (End) --- 事务,错误输出,事件处理,日志记录
- 使用try...catch...and or....finally (vbscript or jscript) 处理可能的某些或全部错误
- IOS开发之--异常处理--使用try 和 catch 来捕获错误。
- SQLServer replication 复制常见错误及其处理方法
- SQL Server TRY...CATCH
- SQL 异常处理 Begin try end try begin catch end catch--转
- 从零开始学C++之异常(一):C语言错误处理方法、C++异常处理方法(throw, try, catch)简介
- SqlServer Analysis Services 处理维度的内存错误
- SQL Server BI Step by Step SSIS 7 (End) --- 事务,错误输出,事件处理,日志记录
- SqlServer Try Catch
- 从零开始学C++之异常(一):C语言错误处理方法、C++异常处理方法(throw, try, catch)简介