public class JPanelTest {
public int test() {
try {
System.out.println("[1]");
return 1;
} finally {
System.out.println("[2]");
return 2;
}
}
public static void main(String[] args) {
JPanelTest jt = new JPanelTest();
System.out.println(jt.test());
}
}
结果是:
[1]
[2]
2
这样的话,第一个return 1;就显得是无用的了
有没有其他方法直接跳出try到finally去?
[1]
[2]
2
你的try中可以什么都不写,就直接执行finally了
拿好纸笔记下:finally中的语句块永远是在return之前
try{ codeparameter a;
return c;
}finally{
codeparameter b;
}执行顺序是:
先执行try里面的a;
接着是执行finally里面的b;
然后是return c;
finally始终是要执行的,除非你重写语句。
System.out.println(1/0);
return 1;
} finally {
System.out.println("[2]");
return 2;
}