Java | Exception Handling | Question 4
class Base extends Exception {} class Derived extends Base {} public class Main { public static void main(String args[]) { // some other stuff try { // Some monitored code throw new Derived(); } catch (Base b) { System.out.println( "Caught base class exception" ); } catch (Derived d) { System.out.println( "Caught derived class exception" ); } } } |
(A) Caught base class exception
(B) Caught derived class exception
(C) Compiler Error because derived is not throwable
(D) Compiler Error because base class exception is caught before derived class
Answer: (D)
Explanation: See Catching base and derived classes as exceptions
Following is the error in below program
Main.java:12: error: exception Derived has already been caught catch(Derived d) { System.out.println("Caught derived class exception"); }
Please Login to comment...