This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Ohhhhh! Now I see your question. At frist I was going to say that maybe it throws an Error instead of an exception, but I checked and that isn't it. So I put the code into the copiler and the compiler barfed. Exception in thread "main" java.lang.ArithmeticException: / by zero at Test.main(Test.java:9) That's why it doen't do finally. You can't run the program unless you can compile it. You can't compile it because you don't have any code that throws an IOException in your try block. I changed the IOException to Exception and it ran fine.