Chapter 7. Exception Handling
An exception is an anomalous condition that alters or interrupts the flow of execution. Java provides built-in exception handling to deal with such conditions. Exception handling should not be part of normal program flow.
The Exception Hierarchy
As shown in Figure 7-1, all exceptions and errors inherit from the class Throwable
, which inherits from the class Object
.
Checked/Unchecked Exceptions and Errors
Exceptions and errors fall into three categories: checked exceptions, unchecked exceptions, and errors.
Checked Exceptions
- Checked exceptions are checked by the compiler at compile time.
-
Methods that throw a checked exception must indicate so in the method declaration using the
throws
clause. This must continue all the way up the calling stack until the exception is handled. -
All checked exceptions must be explicitly caught with a
catch
block. -
Checked exceptions include exceptions of the type
Exception
, and all classes that are subtypes ofException
, except forRuntimeException
and the subtypes ofRuntimeException
.
The following is an example of a method that throws a checked exception:
// Method declaration that throws
// an IOException
void
readFile
(
String
filename
)
throws
IOException
{
...
}
Unchecked Exceptions
- The compiler does not check unchecked exceptions at compile time.
- Unchecked exceptions occur during ...
Get Java 8 Pocket Guide now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.