有两种情况
1、finally内没有return
return-〉finally-〉try中的return
2、finally内有return
return-〉finally-〉finally中的return
打印出来的结果是 100:200 这就可以知道是先执行了return 。然后debug跑一下
public class Test2 {
public static void main(String[] args) {
System.out.println(test());
}
public static StringBuffer test(){
StringBuffer sb = new StringBuffer();
try {
return sb.append("100:");
}catch (Exception e){
return null;
}finally {
sb.append("200");
}
}
}