Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Dan's q

 
Robbie kyodo
Ranch Hand
Posts: 97
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Below is taken from Dan's qns. m1() compile error and complain that it did not catch ColorException, I like to know what is the rule that we must adhere here ?
void m1() throws ColorException
{
throw new ColorException();
}
void m2() throws WhiteException
{
throw new WhiteException();
}
public static void main (String[] args) {
White white = new White();
int a,b,d,f;
a = b = d = f = 0;
try
{white.m1();
a++;}
catch (WhiteException e)
{b++;}
try
{
white.m2();
d++;
}
catch (WhiteException e)
{f++;}
System.out.print(a+","+b+","+d+","+f);
}
}
 
Jose Botella
Ranch Hand
Posts: 2120
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Rule: It is necessary to throw those checked exceptions (or subtypes) that are catched.
Exception: the rule does not apply to Exception.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic