问题杂谈(三十三)多个try catch的嵌套问题

文章探讨了在JavaScript中trycatch结构的嵌套使用。当trycatch内部再嵌套trycatch时,如果内层捕获到异常,则外层不会捕获;反之,如果内层未捕获到特定异常,控制流会向上层trycatch传递。此外,多个catch块会按顺序尝试捕获异常,一旦有catch匹配成功,其余catch将被跳过。
摘要由CSDN通过智能技术生成

前言:

  • 起初是因为想着try catch后不要中断代码,可以继续执行
  • 但因为外层已经有了一层try catch,好奇如果try catch嵌套try catch会是什么效果

结论:

  • 结论1:外层try catch里面可以嵌套try catch
  • 结论2:try catch的执行顺序是,如果内层try catch捕获到了异常,则外层try catch不会捕获异常,而是随着代码继续执行
  • 结论3:如果内层try catch未捕获到异常(比如内层的catch只写了捕捉一个细分类型的异常,但报了另一个异常),则会触发外层的try catch,若外层catch捕获异常成功,则会继续执行catch代码块中的内容

注意:

  • 若一个try存在多个catch,则会按照catch的代码顺序从上到下尝试捕获异常
  • 若某个catch捕获到异常,则会进入相应的catch代码块,剩下的catch则会被跳过

参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值