Java Exception Classes: Hierarchy Diagram
The diagram below illustrates Java Exception class hierarchy.
Darker colored are checked exceptions. Any checked exceptions that may be thrown in a method must either be caught or declared in the method’s throws clause. Checked exceptions must be caught at compile time.
Checked exceptions are so called because both the Java compiler and the Java virtual machine check to make sure this rule is obeyed.

You may also like:
Leave a comment
What these colours show, which are checked Exceptions and which are unchecked exceptions.
darker colored are checked exceptions. Checked exceptions must be caught at compile time. Runtime exceptions do not need to be. Errors often cannot be, as they tend to be unrecoverable.
http://docs.oracle.com/javase/tutorial/essential/exceptions/runtime.html