• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Mock Exam question, Interrupted Exception

 
Klemens Katterbauer
Greenhorn
Posts: 8
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Does anybody know why an Interrupted Exception is thrown here.

The only explanation I have is that due to the two distinct run methods and the InnerRunTwo's thread relationship to InnerRun, follows that when I invoke the first Thread t, it will disrupt the Thread 'u', but I'm not sure.




Thanks for comments.
[ July 27, 2008: Message edited by: Klemens Katterbauer ]
 
Ireneusz Kordal
Ranch Hand
Posts: 423
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The exception cannot be thrown in this code.
This code simply doesn't compile, because according to Thread.join() api, join() throws the checked InterruptedException that must be catch in your code or must be declared to be thrown by run() method.
Surround other.join() statement with try-catch, like this:

and it will compile.

regards
[ July 27, 2008: Message edited by: Ireneusz Kordal ]
 
Klemens Katterbauer
Greenhorn
Posts: 8
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I know that but why do I have to surround the other.join by a try and catch block or have to throw an exception ?

That's my questions?
 
Eric Daly
Ranch Hand
Posts: 143
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Java requires that if a method throws an exception, you must either include it in a try/catch block, or declare that your method that's calling the "unsafe" method throws that exception. It's part of java's syntax.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic