I don't agree with the provided answers of the following question (Q27 of 69 Standard Tests- Foundation Test):
What can be the type of a catch argument?
- Any class that extends java.lang.Exception
- Any class that extends java.lang.Exception except any class that extends java.lang.RuntimeException
- Any class that is-a Throwable
- Any Object
- Any class that extends Error
The correct answers according Ethuware:
- Any class that extends java.lang.Exception
- Any class that is-a Throwable
The answer "Any class that extends Error" should also be accepted. An error like "ExceptionInInitializerError" can be thrown and caught without problem. Yet it's not good coding practice to do so, but an error can be "the type of a catch argument" without problem!