Win a copy of Murach's Python Programming this week in the Jython/Python forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Handling exceptions  RSS feed

 
Urs Waefler
Ranch Hand
Posts: 187
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This is the code: It will compile but will throw AnotherException when run.

Explanation
m2() throws NewException, which is not caught anywhere. But before exiting out of the main method, finally must be executed. Since finally throw AnotherException (due to a call to m3() ), the NewException thrown in the try block ( due to call to m2() ) is ignored and AnotherException is thrown from the main method.

I thought the exception has to be caught; m2() throws NewException, which is not caught anywhere. I would kindly ask for a clarification.
 
Stephan van Hulst
Saloon Keeper
Posts: 6979
110
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The exception is propagated upward. The main() method can do this because it declares that it can throw Exception.
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!