关于java:最终总是被调用?

Does finally always get called?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
In Java, does return trump finally?

这个函数返回什么?

1
2
3
4
5
6
7
8
9
10
11
12
public int wasExceptionThrown() {
   try {
     if(1==1)
        throw new RuntimeException();
     return 1;
   } catch(Exception e) {
     return 2;
   } finally {
     return 3;
   }
   return 0;
}


如果你不是那块System.exit(0);finally呼叫称为线程是立即关闭。在所有其他情况下finally是所谓当块(如果它是通往)


最后before被返回。

唯一的时间不会是最后的呼叫(或如果你system.exit)如果第一JVM崩溃。