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块后的第一条语句。
作者
相关推荐
-
Linux支持的引入 推动了SQL Server 2016集成服务的发展
随着SQL Server的不断发展,集成服务也在发生相应的变化。在最新的SSIS更新中,增加Linux支持和SQL Server 2016升级向导。
-
Notre Dame对云端SQL Server性能基准的探索实践
确立SQL Server的性能基准,对于云端迁移来说是至关重要的第一步,一位来自于University of Notre Dame 的DBA表示,他正在试图通过数据库监控软件,找出SQL server的性能基准。
-
横向扩展SQL Server应用程序:提高工作负载的选项
SQL Server管理员面临的最大挑战之一就是扩展数据库以适应更为繁重的数据处理工作负载。然而事情越发复杂的是,虽然Microsoft提供了许多不同的SQL Server可扩展性选项,但它们并不都适合于每种情况。
-
五大技巧构建首个SQL Server容器
容器的世界庞大而复杂,使用者可能会感到困扰,这里我们将列出一些示例,以便引导您顺利完成SQL Server容器的创建和管理。