Multiple choice

Which statement is true?

  1. catch(X x) can catch subclasses of X where X is a subclass of Exception.

  2. The Error class is a RuntimeException.

  3. Any statement that can throw an Error must be enclosed in a try block.

  4. Any statement that can throw an Exception must be enclosed in a try block.

Reveal answer Fill a bubble to check yourself
A Correct answer
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 RuntimeException. 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.