Discussion :: Exceptions
-
What will be the output of the program?
public class X { public static void main(String [] args) { try { badMethod(); system.out.print("A"); } catch (Exception ex) { System.out.print("B"); } finally { System.out.print("C"); } System.out.print("D"); } public static void badMethod() { throw new Error(); /* Line 22 */ } }
A.
ABCD |
B.
Compilation fails. |
C.
C is printed before exiting with an error message. |
D.
BC is printed before exiting with an error message. |
Answer : Option C
Explanation :
Error is thrown but not recognised line(22) because the only catch attempts to catch an Exception and Exception is not a superclass of Error. Therefore only the code in the finally statement can be run before exiting with a runtime error (Exception in thread "main" java.lang.Error).
Be The First To Comment