logo

CuriousTab

CuriousTab

Discussion


Home Java Programming Exceptions Comments

  • Question
  • What will be the output of the program?
    public class Test 
    {  
        public static void aMethod() throws Exception 
        {
            try /* Line 5 */
            {
                throw new Exception(); /* Line 7 */
            } 
            finally /* Line 9 */
            {
                System.out.print("finally "); /* Line 11 */
            } 
        } 
        public static void main(String args[]) 
        {
            try 
            {
                aMethod();  
            } 
            catch (Exception e) /* Line 20 */
            {
                System.out.print("exception "); 
            } 
            System.out.print("finished"); /* Line 24 */
        } 
    }
    


  • Options
  • A. finally
  • B. exception finished
  • C. finally exception finished
  • D. Compilation fails

  • Correct Answer
  • finally exception finished 

    Explanation
    This is what happens:

    (1) The execution of the try block (line 5) completes abruptly because of the throw statement (line 7).

    (2) The exception cannot be assigned to the parameter of any catch clause of the try statement therefore the finally block is executed (line 9) and "finally" is output (line 11).

    (3) The finally block completes normally, and then the try statement completes abruptly because of the throw statement (line 7).

    (4) The exception is propagated up the call stack and is caught by the catch in the main method (line 20). This prints "exception".

    (5) Lastly program execution continues, because the exception has been caught, and "finished" is output (line 24).


    Exceptions problems


    Search Results


    • 1. What will be the output of the program?
      public class MyProgram 
      {
          public static void main(String args[])
          {
              try 
              {
                  System.out.print("Hello world ");
              }
              finally 
              {
                  System.out.println("Finally executing ");
              }
          }
      }
      

    • Options
    • A. Nothing. The program will not compile because no exceptions are specified.
    • B. Nothing. The program will not compile because no catch clauses are specified.
    • C. Hello world.
    • D. Hello world Finally executing
    • Discuss
    • 2. What will be the output of the program?
      public class Foo 
      {  
          public static void main(String[] args) 
          {
              try 
              { 
                  return; 
              } 
              finally 
              {
                  System.out.println( "Finally" ); 
              } 
          } 
      }
      

    • Options
    • A. Finally
    • B. Compilation fails.
    • C. The code runs with no output.
    • D. An exception is thrown at runtime.
    • Discuss
    • 3. 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 */
          } 
      }
      

    • Options
    • 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.
    • Discuss
    • 4. What will be the output of the program?
      public class RTExcept 
      {
          public static void throwit () 
          {
              System.out.print("throwit ");
              throw new RuntimeException();
          }
          public static void main(String [] args) 
          {
              try 
              {
                  System.out.print("hello ");
                  throwit();
              }
              catch (Exception re ) 
              {
                  System.out.print("caught ");
              }
              finally 
              {
                  System.out.print("finally ");
              }
              System.out.println("after ");
          }
      }
      

    • Options
    • A. hello throwit caught
    • B. Compilation fails
    • C. hello throwit RuntimeException caught after
    • D. hello throwit caught finally after
    • Discuss
    • 5. 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() {} 
      } 
      

    • Options
    • A. AC
    • B. BC
    • C. ACD
    • D. ABCD
    • Discuss
    • 6. What will be the output of the program?
      public class X 
      {  
          public static void main(String [] args) 
          {
              try 
              {
                  badMethod();  
                  System.out.print("A");  
              } 
              catch (RuntimeException ex) /* Line 10 */
              { 
                  System.out.print("B"); 
              } 
              catch (Exception ex1) 
              { 
                  System.out.print("C"); 
              } 
              finally 
              {
                  System.out.print("D"); 
              } 
              System.out.print("E"); 
          } 
          public static void badMethod() 
          { 
              throw new RuntimeException(); 
          } 
      }
      

    • Options
    • A. BD
    • B. BCD
    • C. BDE
    • D. BCDE
    • Discuss
    • 7. What will be the output of the program?
      try 
      { 
          int x = 0; 
          int y = 5 / x; 
      } 
      catch (Exception e) 
      {
          System.out.println("Exception"); 
      } 
      catch (ArithmeticException ae) 
      {
          System.out.println(" Arithmetic Exception"); 
      } 
      System.out.println("finished");
      

    • Options
    • A. finished
    • B. Exception
    • C. Compilation fails.
    • D. Arithmetic Exception
    • Discuss
    • 8. What will be the output of the program?
      class Exc0 extends Exception { } 
      class Exc1 extends Exc0 { } /* Line 2 */
      public class Test 
      {  
          public static void main(String args[]) 
          { 
              try 
              {  
                  throw new Exc1(); /* Line 9 */
              } 
              catch (Exc0 e0) /* Line 11 */
              {
                  System.out.println("Ex0 caught"); 
              } 
              catch (Exception e) 
              {
                  System.out.println("exception caught");  
              } 
          } 
      }
      

    • Options
    • A. Ex0 caught
    • B. exception caught
    • C. Compilation fails because of an error at line 2.
    • D. Compilation fails because of an error at line 9.
    • Discuss
    • 9. What will be the output of the program?
      public class X 
      {  
          public static void main(String [] args) 
          {
              try 
              {
                  badMethod(); /* Line 7 */
                  System.out.print("A"); 
              } 
              catch (Exception ex) /* Line 10 */
              {
                  System.out.print("B"); /* Line 12 */
              } 
              finally /* Line 14 */
              {
                  System.out.print("C"); /* Line 16 */
              }  
              System.out.print("D"); /* Line 18 */
          } 
          public static void badMethod() 
          {
              throw new RuntimeException(); 
          } 
      }
      

    • Options
    • A. AB
    • B. BC
    • C. ABC
    • D. BCD
    • Discuss
    • 10. Which statement, inserted at line 10, creates an instance of Bar?
      class Foo 
      {
          class Bar{ }
      }
      class Test 
      {
          public static void main (String [] args) 
          {
              Foo f = new Foo();
              /* Line 10: Missing statement? */
          }
      }
      

    • Options
    • A. Foo.Bar b = new Foo.Bar();
    • B. Foo.Bar b = f.new Bar();
    • C. Bar b = new f.Bar();
    • D. Bar b = f.new Bar();
    • Discuss


    Comments

    There are no comments.

Enter a new Comment