sql中的begin catch 和 end catch 的用法

begin catch 。。。end  catch 是用来处理异常的

begin try
  --SQL语句
end try

begin catch  --sql (处理出错动作)
end catch

我们将可能会出错的sql 写在begin try...endtry 之间,若出错,刚程序就跳到紧接着的begin try...endtry 的beign catch...endcatch

中,执行beign catch...endcatch错误处理SQL。try..catch 是可以嵌套的。

复制代码
在begin catch ...endcatch中我们可以利用系统提供的下面四个函数得到出错信息:

error_number 返回错误代码

error_serverity 返回错误的严重级别

error_state 返回错误状态代码

error_message 返回完整的错误信息
复制代码

 


上面的四个函数在同一个begin catch ...endcatch可以在多次使用,值是不变的。

下面是一个简单的小例子。

复制代码
BEGIN TRY 
SELECT 2/0
END TRY 

BEGIN CATCH 
SELECT 
  error_number() AS aserror_number ,
  error_message() AS aserror_message,
  error_state() AS aserror_state,
  error_severity() AS aserror_severity
END CATCH 
复制代码

 

输出结果

 

posted @   茶叶蛋蛋  阅读(1048)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示