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

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

SQL Server的错误处理或异常处理一直都是T-SQL开发中比较麻烦的部分。在过去,每一条语句运行后,你都要手动地进行错误检查,然后逐个错误的进行处理。SQL Server事务管理同样非常麻烦,你需要找出事务的状态,然后恰当的将其回滚或者提交。   而今,通过在SQL Server 2005中为T-SQL添加Try…Catch块,微软给我们提供了新的,更加健壮的错误处理能力。

在本文中,我们将看到Try…Catch块是如何工作的,并告诉你如何你在代码使用他们。同时,我们还将提供一些使用以前的方法处理问题和使用现代方法处理问题的对比,是你更好的理解如何使用Try…Catch。   Try…Ca……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

SQL Server的错误处理或异常处理一直都是T-SQL开发中比较麻烦的部分。在过去,每一条语句运行后,你都要手动地进行错误检查,然后逐个错误的进行处理。SQL Server事务管理同样非常麻烦,你需要找出事务的状态,然后恰当的将其回滚或者提交。

  而今,通过在SQL Server 2005中为T-SQL添加Try…Catch块,微软给我们提供了新的,更加健壮的错误处理能力。在本文中,我们将看到Try…Catch块是如何工作的,并告诉你如何你在代码使用他们。同时,我们还将提供一些使用以前的方法处理问题和使用现代方法处理问题的对比,是你更好的理解如何使用Try…Catch。

  Try…Catch的定义

  为了理解Try…Catch块,你必须先明白异常处理的概念。异常处理非常简单:在执行你的代码时,那些非计划之内发生的事情就是异常,你需要做一些事情对它进行处理。至于如何处理异常,则由开发人员,也就是你来决定。

  为了是你的T-SQL代码可以处理异常,你就需要使用Try…Catch块。如果你使用过Visual Studio,那么你可能对Try…Catch块的概念很熟悉。T-SQL中的Try…Catch块虽然与完全成熟的Visual Studio中的很相似,但实际上它少了一些选项。在使用Try…Catch块时,将你所编写的需要运行的T-SQL代码放入Try块中。如果在运行这段代码时,如果一个严重级别是10级或者更高的错误发生,就会转到Catch块中运行那里面的异常处理代码。它的基本结构如下所示:

  BEGIN TRY
  [T-SQL代码写在这里]
  END TRY
  BEGIN CATCH
  [异常处理代码写在这里]
  END CATCH

  在T-SQL中使用Try…Catch块时,你需要注意以下这些关键问题:

  • Try块后面必须要直接接一个Catch块,否则就会发生一个错误。
  • Try…Catch不能嵌套。
  • 如果Try块中的代码没有故障,将跳过Catch块,执行Catch块后的第一条语句。
  • 当Catch块中的代码运行完毕后,将执行Catch块后的第一条语句。

相关推荐