1:只有与 finally 相对应的 try 语句块获得执行的状况下,finally 语句块才会执行。在 try 语句块以前返回(return)或者抛出异常,try 对应的 finally 语句块没有执行。 java
2:在 try 语句块中执行了 System.exit (0) 语句,终止了 Java 虚拟机的运行,finally也不会执行。 get
http://www.ibm.com/developerworks/cn/java/j-lo-finally/ 虚拟机