Search notes:

Java class java.lang.Throwable

java.lang.Throwable (not java.lang.Exception) is the base class of all classes that can be thrown.
Two important subclasses that derive from java.lang.Throwable are

Checked and unchecked exceptions

A class that derives directly or indirectly from java.lang.Throwable is either checked or unchecked.
A method that might throw a checked exception has to declare this exception as potentially be thrown. Hence, a caller of the method in the call-stack needs to catch the exception.
On the other hand, an unchecked exception can be thrown without the method having it declared accordingly.
Examples of unchecked classes include
Examples of checked classes include
Find more on that on Stackoverflow

Index