When is a finally{} block executed?
Only when an unhandled exception is thrown in a try{} block.
Only when any exception is thrown in a try{} block.
Always after execution has left a try{} block, no matter for what reason.
Always just as a method is about to finish.