Are multiply-thrown Exceptions checked or runtime?

Posted by froadie on Stack Overflow See other posts from Stack Overflow or by froadie
Published on 2010-05-06T14:30:34Z Indexed on 2010/05/06 14:38 UTC
Read the original article Hit count: 295

Filed under:
|
|
|

I have an Exception chain in which method1 throws an Exception to method2 which throws the Exception on to main. For some reason, the compiler forces me to deal with the error in method2 and marks it as an error if I don't, indicating that it's a checked Exception. But when the same Exception is thrown further down the line to main, the compiler allows me to ignore it and doesn't display any errors.

The original Exception in method1 is a ParseException, which is checked. But the method has a generic throws Exception clause in the header, and the same object is thrown to method2, which has an identical throws Exception clause. When and how does this Exception lose the status of being checked / caught by the compiler?

Edited to clarify:

public void method1() throws Exception{
   // code that may generate ParseException
}

public void method2() throws Exception{
   method1(); //compiler error
}

public static void main(String[] args){
   method2(); //ignored by compiler
}

© Stack Overflow or respective owner

Related posts about java

Related posts about exceptions