文章目录
1. 面试题:try-catch块中存在return语句,是否还执行finally块,如果执行,说出执行顺序
-
情况一(try中有return,finally中没有return)
public class TryTest{ public static void main(String[] args){ System.out.println(test()); } private static int test(){ int num = 10; try{ System.out.println("try"); return num += 80; }catch(Exception e){ System.out.println("error"); }finally{ if (num > 20){ System.out.println("num>20 : " + num); } System.out.println("finally"); } return num; } }
输出:
try num>20 : 90 finally 90
分析:显然
return num += 80
被拆分成了num = num+80
和retur