What are the circumstances under which a finally {} block will NOT execute?
问题 In a Java try{} ... catch{} ... finally{} block, code within the finally{} is generally considered \"guaranteed\" to run regardless of what occurs in the try/catch. However, I know of at least two circumstances under which it will not execute: If System.exit(0) is called; or, if an Exception is thrown all the way up to the JVM and the default behavior occurs (i.e., printStackTrace() and exit) Are there any other program behaviors that will prevent the code in a finally{} block from executing?