Home / Java Programming / Exceptions :: Discussion

Discussion :: Exceptions

  1. 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 */   
        }  
    } 

     

  2. 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.

    View Answer

    Workspace

    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