sql 嵌套try catch问题!
关注:200 答案:3 手机版
解决时间 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) { //发生其他异常时的处理操作。 }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!