使用Try…Catch块进行T-SQL错误处理
2008-09-04 10:00:45 来源:WEB开发网核心提示:SQL Server的错误处理或异常处理一直都是T-SQL开发中比较麻烦的部分,在过去,使用Try…Catch块进行T-SQL错误处理,每一条语句运行后,你都要手动地进行错误检查,如果一个严重级别是10级或者更高的错误发生,就会转到Catch块中运行那里面的异常处理代码,然后逐个错误的进行处理,SQL Server事务
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块时,你需要注意以下这些关键问题:
赞助商链接