logo

CuriousTab

CuriousTab

Discussion


Home Java Programming Exceptions Comments

  • Question
  • Which statement is true?


  • Options
  • A. catch(X x) can catch subclasses of X where X is a subclass of Exception.
  • B. The Error class is a RuntimeException.
  • C. Any statement that can throw an Error must be enclosed in a try block.
  • D. Any statement that can throw an Exception must be enclosed in a try block.

  • Correct Answer
  • catch(X x) can catch subclasses of X where X is a subclass of Exception

    Explanation
    Option A is correct. If the class specified in the catch clause does have subclasses, any exception object that subclasses the specified class will be caught as well.

    Option B is wrong. The error class is a subclass of Throwable and not Runtime Exception.

    Option C is wrong. You do not catch this class of error.

    Option D is wrong. An exception can be thrown to the next method higher up the call stack.


    Exceptions problems


    Search Results


    • 1. Which statement is true?

    • Options
    • A. A try statement must have at least one corresponding catch block.
    • B. Multiple catch statements can catch the same class of exception more than once.
    • C. An Error that might be thrown in a method must be declared as thrown by that method, or be handled within that method.
    • D. Except in case of VM shutdown, if a try block starts to execute, a corresponding finally block will always start to execute.
    • Discuss
    • 2. Given that all methods of class FileOutputStream, including close(), throw an IOException, which of these is true?
      import java.io.*;
      public class MyProgram 
      {
          public static void main(String args[])
          {
              FileOutputStream out = null;
              try 
              {
                  out = new FileOutputStream("test.txt");
                  out.write(122);
              }
              catch(IOException io) 
              {
                  System.out.println("IO Error.");
              }
              finally 
              {
                  out.close();
              }
          }
      }
      

    • Options
    • A. This program will compile successfully.
    • B. This program fails to compile due to an error at line 4.
    • C. This program fails to compile due to an error at line 6.
    • D. This program fails to compile due to an error at line 18.
    • Discuss
    • 3. Given that EOFException and FileNotFoundException are both subclasses of IOException, and further assuming this block of code is placed into a class, which statement is most true concerning this code?
      System.out.print("Start ");
      try 
      {
          System.out.print("Hello world");
          throw new FileNotFoundException();
      }
      System.out.print(" Catch Here "); /* Line 7 */
      catch(EOFException e) 
      {
          System.out.print("End of file exception");
      }
      catch(FileNotFoundException e) 
      {
          System.out.print("File not found");
      }
      

    • Options
    • A. The code will not compile.
    • B. Code output: Start Hello world File Not Found.
    • C. Code output: Start Hello world End of file exception.
    • D. Code output: Start Hello world Catch Here File not found.
    • Discuss
    • 4. Which two statements are equivalent?

      1. 3/2
      2. 3<2
      3. 3*4
      4. 3<<2

    • Options
    • A. 1 and 2
    • B. 2 and 3
    • C. 3 and 4
    • D. 1 and 4
    • Discuss
    • 5. Which of the following are legal lines of code?

      1. int w = (int)888.8;
      2. byte x = (byte)1000L;
      3. long y = (byte)100;
      4. byte z = (byte)100L;

    • Options
    • A. 1 and 2
    • B. 2 and 3
    • C. 3 and 4
    • D. All statements are correct.
    • Discuss
    • 6. Which answer most closely indicates the behavior of the program?
      public class MyProgram 
      {
          public static void throwit() 
          {
              throw new RuntimeException();
          }
          public static void main(String args[])
          {
              try 
              {
                  System.out.println("Hello world ");
                  throwit();
                  System.out.println("Done with try block ");
              }
              finally 
              {
                  System.out.println("Finally executing ");
              }
          }
      }
      

    • Options
    • A. The program will not compile.
    • B. The program will print Hello world, then will print that a RuntimeException has occurred, then will print Done with try block, and then will print Finally executing.
    • C. The program will print Hello world, then will print that a RuntimeException has occurred, and then will print Finally executing.
    • D. The program will print Hello world, then will print Finally executing, then will print that a RuntimeException has occurred.
    • Discuss
    • 7. At Point X on line 5, which code is necessary to make the code compile?
      public class ExceptionTest 
      { 
          class TestException extends Exception {} 
          public void runTest() throws TestException {} 
          public void test() /* Point X */ 
          { 
              runTest(); 
          } 
      }
      

    • Options
    • A. No code is necessary.
    • B. throws Exception
    • C. catch ( Exception e )
    • D. throws RuntimeException
    • Discuss
    • 8. Which four can be thrown using the throw statement?

      1. Error
      2. Event
      3. Object
      4. Throwable
      5. Exception
      6. RuntimeException

    • Options
    • A. 1, 2, 3 and 4
    • B. 2, 3, 4 and 5
    • C. 1, 4, 5 and 6
    • D. 2, 4, 5 and 6
    • Discuss
    • 9. What will be the output of the program?
      class A 
      { 
          public A(int x){} 
      } 
      class B extends A { } 
      public class test 
      { 
          public static void main (String args []) 
          {
              A a = new B(); 
              System.out.println("complete"); 
          } 
      }
      

    • Options
    • A. It compiles and runs printing nothing
    • B. Compiles but fails at runtime
    • C. Compile Error
    • D. Prints "complete"
    • Discuss
    • 10. What will be the output of the program?
      public class Test138 
      { 
          public static void stringReplace (String text) 
          {
              text = text.replace ('j' , 'c'); /* Line 5 */
          } 
          public static void bufferReplace (StringBuffer text) 
          { 
              text = text.append ("c");  /* Line 9 */
          } 
          public static void main (String args[]) 
          { 
              String textString = new String ("java"); 
              StringBuffer textBuffer = new StringBuffer ("java"); /* Line 14 */
              stringReplace(textString); 
              bufferReplace(textBuffer); 
              System.out.println (textString + textBuffer); 
          } 
      }
      

    • Options
    • A. java
    • B. javac
    • C. javajavac
    • D. Compile error
    • Discuss


    Comments

    There are no comments.

Enter a new Comment