posted 16 years ago
Hi
since the exception thrown by m1() is catched .
no exception returns to main().but in case of m2() , the exception was not handled in m2().so it will returns to main().but as you know finally block must execute.so before control comes to main(),first finally block of m2() execute then comes to main method where this exception was handled.....so this out put.
you can understand the control flow easily if you add one catch(Exception e){Sytem.out.println("m2catch")} in m2(), hope you get the solution.
Thanks & Regards
Srinibash