SQL Server 2005 中使用 Try Catch 处理异常
TRY...CATCH是Sql Server 2005/2008令人印象深刻的新特性.提高了开发人员异常处理能力.没有理由不尝试一下Try.. Catch功能. * TRY 块 - 包含可能产生异常的代码或脚本 一、SQL SERVER 2000中异常处理@AccountNum INT,@Amount DECIMALAS BEGIN BEGIN TRANSACTION --beginning a transaction..
END GO 上面是Sql server 2000的一个存储过程,在每个数据库操作之后立即必须检查@@ERROR,进行Commit / RollBack该事务. 二、SQL SERVER 2005中异常处理TRY...CATCH是SQL Server 2005提供的更具有可读性的语法.每个开发人员都熟悉这种写法.SQL Server 2005仍然支持@@ERROR这种用法. 1.try catch语法:Try Statement 1Try Statement 2 ... Try Statement M END TRY BEGIN CATCH Catch Statement 1 Catch Statement 2 ... Catch Statement N END CATCH 2.获得错误信息的函数表:下面系统函数在CATCH块有效.可以用来得到更多的错误信息: 函数描述 ERROR_NUMBER()返回导致运行 CATCH 块的错误消息的错误号。 简单示例: SELECT GETDATE()SELECT 1/0--Evergreen divide by zero example! END TRY BEGIN CATCH SELECT 'There was an error! ' + ERROR_MESSAGE() RETURN END CATCH; 3.try catch回滚/提交事务的示例@AccountNum INT,@Amount DECIMALAS BEGIN BEGIN TRY --Start the Try Block..
END TRY BEGIN CATCH
END CATCH END GO 三、实例讲解创建错误日志表: 创建错误日志记录存储过程: 写一个存储过程吧!里面使用一下Try Catch: END TRYBEGIN CATCH ErrorLog --调用上面的存储过程,保存错误日志 END CATCH 说明:ERROR_NUMBER(),ERROR_MESSAGE() 这几个函数只能用在Catch里面! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |