Exceptions - Programming

Q1:

Which statement is true?

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.

ANS:A - catch(X x) can catch subclasses of X where X is a subclass of Exception.

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.