对于finally一般是关闭资源或一定会被执行的代码,
在java中只有一种情况,不会被执行到就是在finally前系统退出,
System.exit(0);finally不会被执行到,
return;finally还是会执行到
class Test {
public static void main(String[] args) {
System.out.println(new Test().test());;
}
int test()
{
try
{
return func1();
}
finally
{
return func2();
}
}
int func1()
{
System.out.println("func1");
return 1;
}
int func2()
{
System.out.println("func2");
return 2;
}
}
在java只有一种系统退出finally不会执行到 |