Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Java | Exception Handling | Question 4

  • Difficulty Level : Basic
  • Last Updated : 28 Jun, 2021




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"); } 


Quiz of this Question

My Personal Notes arrow_drop_up
Recommended Articles
Page :