使用Try…Catch块进行T-SQL错误处理(三)

日期: 2008-07-07 作者:Eric Johnson 来源:TechTarget中国 英文

错误和异常处理对于所有好的编程规范都是至关重要的。现在使用SQL Server 2005提供的Try…Catch块,你可以实现更好的错误处理……   这个过程可以在你的Catch块中被调用,用来返回和记录错误的详细信息。   BEGIN TRY   –在这里插入代码:当错误发生时,控制权将被转到Catch块   END TRY   BEGIN CATCH   –这个过程将会记录错误并将详细信息返回给调用它的应用程序   &#101xec spLogError   END CATCH   使用XACT_STATE()函数   还有一个错误函数我们在前面没有讨论,……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

错误和异常处理对于所有好的编程规范都是至关重要的。现在使用SQL Server 2005提供的Try…Catch块,你可以实现更好的错误处理……

  这个过程可以在你的Catch块中被调用,用来返回和记录错误的详细信息。

  BEGIN TRY

  --在这里插入代码:当错误发生时,控制权将被转到Catch块

  END TRY
  BEGIN CATCH

  --这个过程将会记录错误并将详细信息返回给调用它的应用程序

  exec spLogError
  END CATCH

  使用XACT_STATE()函数

  还有一个错误函数我们在前面没有讨论,那就是XACT_STATE()函数。它可以在你的Catch块中被调用,返回你的过程中事务的准确状态。XACT_STATE()函数的返回值及其意义如下所示:

  1 : 有一个活动的事务,它可以被提交或者回滚。
 
  0 : 没有活动的事务。

  -1 : 有一个活动的事务,但由于有错误发生,事务不能被提交。

  基于这些返回值,你就可以处理你的食物。如果返回值是1,你可以正常的提交或者回滚。如果返回值是0,则并没有打开的事务,如果尝试提交将会产生一个错误。返回值-1比较特殊,它意味着有一个事物,但是它不能被提交。如果返回值是-1的话,你也不能回滚到一个保存点,而只能将整个事务进行回滚。

  错误和异常处理对于所有好的编程规范都是至关重要的。现在使用SQL Server 2005提供的Try…Catch块,你可以实现更好的错误处理。

相关推荐