sql 嵌套try catch问题!
答案:3 mip版
解决时间 2021-01-28 00:39
- 提问者网友:祗剩寂寞
- 2021-01-27 06:00
问题很简单,如何在try中直接跳到最外层catch
最佳答案
- 二级知识专家网友:落爺英雄遲暮
- 2021-01-27 06:43
楼主 给你贴个例子吧
create procedure usp_test
as
begin
declare @t datetime
begin try
set @t = CAST('0000' as datetime)
--set @t = 1
end try
begin catch
print 'ddd' --异常时才会输出
end catch
end
go
--执行存储过程
exec usp_test
--需要提醒楼主的是 catch是捕获异常的 也就是说只有发生错误才会执行catch里面的语句
--这个例子CAST('0000' as datetime)是错误的 所以会执行catch里面的语句
create procedure usp_test
as
begin
declare @t datetime
begin try
set @t = CAST('0000' as datetime)
--set @t = 1
end try
begin catch
print 'ddd' --异常时才会输出
end catch
end
go
--执行存储过程
exec usp_test
--需要提醒楼主的是 catch是捕获异常的 也就是说只有发生错误才会执行catch里面的语句
--这个例子CAST('0000' as datetime)是错误的 所以会执行catch里面的语句
全部回答
- 1楼网友:尝一口甜筒
- 2021-01-27 08:39
oracle 中exception 可以实现类似功能 sql不清楚
- 2楼网友:追尋☆①秒方向
- 2021-01-27 07:19
当然可以嵌套 不过你可以通过不同catch来处理不同异常 例如 c# code? try{ //可能发生异常的操作 }catch(ioexception ioex) { //发生ioexception 时的处理 }catch(nullpointerexception nullpex) { //发生空指针异常的处理 }catch(exception ex) { //发生其他异常时的处理操作。 }
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上问答信息
推荐资讯