专栏/try catch finally

try catch finally

2021年01月09日 03:46--浏览 · --喜欢 · --评论
粉丝:14文章:6

情况1: try{} catch(){}finally{} return;<br> 显然程序按顺序执行。<br> <br> 情况2: try{ return; }catch(){} finally{} return;<br> <br> 先执行try块中return 语句(包括return语句中的表达式运算),但不返回;<br> 执行finally语句中全部代码<br> 最后执行try中return 返回<br> finally块之后的语句return不执行,因为程序在try中已经return。<br> 情况3: try{ } catch(){return;} finally{} return;<br> 1、程序先执行try,如果遇到异常执行catch块,<br> <br> 有异常:<br> 执行catch中return语句,但不返回<br> 执行finally语句中全部代码,<br> 最后执行catch块中return返回。 finally块后的return语句不再执行。<br> 无异常:执行完try再finally再return…<br> 情况4: try{ return; }catch(){} finally{return;}<br> <br> 执行try块return语句(包括return语句中的表达式运算),但不返回;<br> 再执行finally块,<br> 执行finally块,有return,从这里返回。<br> 此时finally块的return值,就是代码执行完后的值<br> <br> 情况5: try{} catch(){return;}finally{return;}<br> <br> 程序执行catch块中return语句(包括return语句中的表达式运算),但不返回;<br> 再执行finally块,<br> 执行finally块,有return,从这里返回。<br> 情况6: try{ return;}catch(){return;} finally{return;}<br> 1、程序执行try块中return语句(包括return语句中的表达式运算),但不返回;<br> <br> 有异常:<br> <br> 执行catch块中return语句(包括return语句中的表达式运算),但不返回;<br> 再执行finally块<br> 执行finally块,有return,从这里返回。<br> 无异常:<br> <br> 再执行finally块<br> <br> <div>  执行finally块,有return,从这里返回。。 </div> <div>  ------------------------------------------------------------------------------------------------------- </div> <div>  原文链接<a href="https://blog.csdn.net/xx326664162/article/details/50266995" target="_blank">https://blog.csdn.net/xx326664162/article/details/50266995</a>  </div> <br>

投诉或建议