try-catch-finally-return的执行优先级
有异常时
try {
System.out.println(1);
int i = 1/0;
return 1;
} catch (Exception e) {
e.printStackTrace();
System.out.println(2);
return 2;
} finally {
System.out.println(3);
return 3;
}
return 4;
代码块的执行顺序:try---->catch---->finally
return的返回优先级:3—>2—>4
无异常时
try {
System.out.println(1);
return 1;
} catch (Exception e) {
e.printStackTrace();
System.out.println(2);
return 2;
} finally {
System.out.println(3);
return 3;
}
return 4;
代码块的执行顺序:try—>finally
return的返回优先级:3—>1—>4