• Post Reply Bookmark Topic Watch Topic
  • New Topic

Exception throwing  RSS feed

 
John Stark
Ranch Hand
Posts: 185
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

This is from an Enthuware question:



When I run the code I get:

Exception in thread "main" java.lang.CloneNotSupportedException
at Main.m1(Main.java:24)
at Main.main(Main.java:9)


So an SQLException should be thrown from within the catch block, but since the finally block is always executed a CloneNotSupportedException is thrown as well.
My question is what happens to the SQLException?

Handling just the CloneNotSupportedException when calling m1() compiles fine:



Running this code just results in the output "CloneNotSupportedException".
It seems like an SQLException is thrown in the catch block but never handled or declared.

Thanks,

John
 
Stephan van Hulst
Saloon Keeper
Posts: 7932
143
  • Likes 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The exception thrown in the try block is simply ignored and "overruled" by the exception thrown in the finally block.

This is the reason why finally blocks should never terminate abnormally. Whenever you have a checked exception in a finally block, catch it and log it. This way, you will get a notification in your log file why the finally block failed, and the exception in the try block will propagate normally.
 
John Stark
Ranch Hand
Posts: 185
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Good idea. Thanks Stephan.

John
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!