java中try、cache、finally的执行顺序

1、当try和finally后有return时,会先执行try中的语句和return,然后执行finally中的语句和return,最后返回的是finally中的return语句。

2、同理,catch同上 

3、当try后有return而finally中没有时,会先执行try中的语句和return,并将return结果保存在临时域中(应该是函数栈),然后执行finally中的语句,然后再回到try中return。值得注意的是无论在finally中对try中的return语句如何改变,都不会影响最终try中的return值。

4、同理,catch同上

5、不论有无异常,finally中的代码都会执行

6、finally中的代码最好不要包含return,因为finally时会直接return而不会返回try中的return值

7、Try必须要存在,catch和finally可以不存在,但不能同时不存在

猜你喜欢

转载自blog.csdn.net/a274537260/article/details/80211219
今日推荐