The checked exceptions are the classes that are subclasses of Exception and are not subclasses of RuntimeException. All other subclasses of Throwable are the unchecked exceptions [ January 15, 2005: Message edited by: Mike Gershman ]
In general, the subclasses of RuntimeException are programmer errors and the subclasses of Error are system errors. But this is not always true. For example, AssertionError is a subclass or Error. [ January 15, 2005: Message edited by: Mike Gershman ]