If we do not succeed, then we run the risk of failure.
J. Danforth Quayle (1990)
An exception is thrown for one of three reasons:
These exceptions are not thrown at an arbitrary point in the program, but rather at a point where they are specified as a possible result of an expression evaluation or statement execution.
throw
statement (§14.16) was executed in Java code.
stop
of class Thread
(§20.20.16) was invoked
Exceptions are represented by instances of the class Throwable
and instances of its subclasses. These classes are, collectively, the exception classes.