SQL Server的错误处理或异常处理一直都是T-SQL开发中比较麻烦的部分。在过去,每一条语句运行后,你都要手动地进行错误检查,然后逐个错误的进行处理。SQL Server事务管理同样非常麻烦,你需要找出事务的状态,然后恰当的将其回滚或者提交。 而今,通过在SQL Server 2005中为T-SQL添加Try…Catch块,微软给我们提供了新的,更加健壮的错误处理能力。
在本文中,我们将看到Try…Catch块是如何工作的,并告诉你如何你在代码使用他们。同时,我们还将提供一些使用以前的方法处理问题和使用现代方法处理问题的对比,是你更好的理解如何使用Try…Catch。 Try…Ca……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属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块后的第一条语句。
作者
相关推荐
-
云端SQL Server高可用性最佳做法
与内部部署相比,在云端运行SQL Server可为数据库软件用户提供更多的灵活性和可扩展性,也可能更省钱。但云 […]
-
绘制数据关系图的利器:SQL Server 图像数据库工具
SQL Server 2017新增了图形数据库功能,你可以使用图结构来表示不同数据元素之间的关系。
-
如何在Azure部署时选择合适的SQL Server?
想要在Azure上运行SQL Server,企业一般会面临两种选择:在Azure虚拟机上安装SQL Server或使用Azure SQL Database。
-
Linux支持的引入 推动了SQL Server 2016集成服务的发展
随着SQL Server的不断发展,集成服务也在发生相应的变化。在最新的SSIS更新中,增加Linux支持和SQL Server 2016升级向导。