sqlserver如何捕获异常?try-catch如何使用?
1、打开sqlserver客户端管理软件,新建一个sql查询窗口,用于书写sql语句。首先来看在sqlserver中的一场捕获try-catch的语法结构
begin try
-- 这里放sql逻辑
end try
begin catch
-- 这里放捕获到异常的处理
end catch

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

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

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

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

6、使用0作为除数肯定是会报除0错误的,这样的数学规则,在sqlserver中也存在,当我们print @x / @z 的时候:
1)如果有catch语句,且没有处理异常的话,会说print 附近有语法错误
2)如果没有catch语句,会直接抛出错误说:遇到以领做除数错误


7、当在正式环境使用的时候,往往不希望看到这一堆错误信息,希望更友好的方式处理。这个时候就可以在begin catch下面添加错误处理代码了。
如果是存储过程,就可以将 ERROR_MESSAGE() 作为output参数的值返回到程序代码中去

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