sqlserver如何捕获异常?try-catch如何使用?

2025-11-08 22:23:03

1、打开sqlserver客户端管理软件,新建一个sql查询窗口,用于书写sql语句。首先来看在sqlserver中的一场捕获try-catch的语法结构

begin try

   -- 这里放sql逻辑

end try

begin catch

   -- 这里放捕获到异常的处理

end catch

sqlserver如何捕获异常?try-catch如何使用?

2、在begin try的下面添加正常的sql逻辑,比如,定义一个整型临时变量@x,赋值为10

declare @x int = 10;

sqlserver如何捕获异常?try-catch如何使用?

3、接着,再定义一个整型临时变量@y,赋值为2

declare @y int = 2;

sqlserver如何捕获异常?try-catch如何使用?

4、众所周知,10除以2是不会报错的。此时,在begin try的下面输出临时变量@x / @y 的结果。在sqlserver中按F5就能执行当前窗口的sql语句,print输出的结果,将在【消息】标签中显示,如果所示,不报错的sql正常输出了结果

sqlserver如何捕获异常?try-catch如何使用?

5、此时,再定义一个整型临时变量@z,给它赋值为0,用于演示报错的情况

sqlserver如何捕获异常?try-catch如何使用?

6、使用0作为除数肯定是会报除0错误的,这样的数学规则,在sqlserver中也存在,当我们print @x / @z 的时候:

1)如果有catch语句,且没有处理异常的话,会说print 附近有语法错误

2)如果没有catch语句,会直接抛出错误说:遇到以领做除数错误

sqlserver如何捕获异常?try-catch如何使用?

sqlserver如何捕获异常?try-catch如何使用?

7、当在正式环境使用的时候,往往不希望看到这一堆错误信息,希望更友好的方式处理。这个时候就可以在begin catch下面添加错误处理代码了。

如果是存储过程,就可以将 ERROR_MESSAGE() 作为output参数的值返回到程序代码中去

sqlserver如何捕获异常?try-catch如何使用?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢