- fianlly执行顺序
public String getTry(){
StringBuilder a = new StringBuilder("15");
try {
a.append("a");
return a.toString();//------①
}catch (Exception e){
a.append("b");
return a.toString();//------②
}finally {
a = new StringBuilder("666");
return a.toString();//------③
}
return a.toString();//------④-------此处return与catch和finally中的return不兼容,不能同时存在
}
1. ④与②③不兼容
2. try中有return语句,而finally中没有return,(有①无③)返回try中结果值,变量在finally中被改变但不返回
3. try中有return,而finally也有,(有①有③),返回finally中结果值,无视try中return
4. 有①有②有③,存在异常,依次执行三步,返回最后结果