C#中当在try语句块中抛出异常后,程序最后是否回到try块中继续执行后面的语句?

C#中当在try语句块中抛出异常后,程序最后是否回到try块中继续执行后面的语句?,第1张

try

{

    throw new Exception()

    var a = 1

}

catch

{

    var b = 1

}

var c = 1

不会的,如果程序抛出异常,然后会检测调用链,直到有 try 语句,匹配 catch 被捕获,然后执行 catch 语句块,如果直到顶层都没被捕获,则程序异常结束。

这里执行到throw new Exception(),然后抛出异常。var a = 1 代码则不会被执行,异常被catch 捕获,接下来则执行var b = 1 然后则是var c = 1, 然后继续往下执行。

1.错:有可能是已捕获异常,如io异常,file相关异常;也有可能是内存溢出,不一定是代码问题。

2.对:throws是针对可能抛出异常,既然是可能,那当然就不一定会抛异常了。

3.对:throws与try

catch是处理异常的2种方式。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11145178.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存