Vous êtes sur la page 1sur 21

Exception Handling in Java

Richard S. Huntrods
June 14, 2001
University of Calgary
Exception Handling in Java

Exception Handling in Java

Topics:

Introduction
Errors and Error handling
Exceptions
Types of Exceptions
Coding Exceptions
Summary
Exception Handling in Java

Introduction

Users have high expectations for


the code we produce.
Users will use our programs in
unexpected ways.
Due to design errors or coding
errors, our programs may fail in
unexpected ways during execution
Exception Handling in Java

Introduction

It is our responsibility to produce


quality code that does not fail
unexpectedly.
Consequently, we must design
error handling into our programs.

Exception Handling in Java

Errors and Error Handling

An Error is any unexpected result obtained


from a program during execution.
Unhandled errors may manifest
themselves as incorrect results or
behavior, or as abnormal program
termination.
Errors should be handled by the
programmer, to prevent them from
reaching the user.
Exception Handling in Java

Errors and Error Handling

Some typical causes of errors:

Memory errors (i.e. memory incorrectly


allocated, memory leaks, null pointer)
File system errors (i.e. disk is full, disk
has been removed)
Network errors (i.e. network is down,
URL does not exist)
Calculation errors (i.e. divide by 0)
Exception Handling in Java

Errors and Error Handling

More typical causes of errors:

Array errors (i.e. accessing element


1)
Conversion errors (i.e. convert q to a
number)
Can you think of some others?

Exception Handling in Java

Errors and Error Handling

Exceptions a better error handling

Exceptions are a mechanism that provides


the best of both worlds.
Exceptions act similar to method return
flags in that any method may raise and
exception should it encounter an error.
Exceptions act like global error methods in
that the exception mechanism is built into
Java; exceptions are handled at many levels
in a program, locally and/or globally.
Exception Handling in Java

Exceptions

What are they?

An exception is a representation of an
error condition or a situation that is not
the expected result of a method.
Exceptions are built into the Java
language and are available to all
program code.
Exceptions isolate the code that deals
with the error condition from regular
program logic.
Exception Handling in Java

Exceptions

How are they used?

Exceptions fall into two categories:

Checked Exceptions
Unchecked Exceptions

Checked exceptions are inherited from the core


Java class Exception. They represent
exceptions that are frequently considered non
fatal to program execution
Checked exceptions must be handled in your
code, or passed to parent classes for handling.

Exception Handling in Java

10

Exceptions

How are they used?

Unchecked exceptions represent error


conditions that are considered fatal
to program execution.
You do not have to do anything with
an unchecked exception. Your
program will terminate with an
appropriate error message.

June 14, 2001

Exception Handling in Java

11

Exceptions

Examples:

Checked exceptions include errors


such as array index out of bounds,
file not found and number format
conversion.
Unchecked exceptions include errors
such as null pointer.

Exception Handling in Java

12

Exceptions

How do you handle exceptions?

Exception handling is accomplished


through the try catch mechanism,
or by a throws clause in the method
declaration.
For any code that throws a checked
exception, you can decide to handle
the exception yourself, or pass the
exception up the chain (to a parent
class).

June 14, 2001

Exception Handling in Java

13

Exceptions

How do you handle exceptions?

To handle the exception, you write a trycatch block. To pass the exception up the
chain, you declare a throws clause in your
method or class declaration.
If the method contains code that may cause
a checked exception, you MUST handle the
exception OR pass the exception to the
parent class (remember, every class has
Object as the ultimate parent)
Exception Handling in Java

14

Coding Exceptions

Try-Catch Mechanism

Wherever your code may trigger an


exception, the normal code logic is
placed inside a block of code starting
with the try keyword:
After the try block, the code to handle
the exception should it arise is placed
in a block of code starting with the
catch keyword.
Exception Handling in Java

15

Coding Exceptions

Try-Catch Mechanism

You may also write an optional finally


block. This block contains code that is
ALWAYS executed, either after the try
block code, or after the catch block
code.
Finally blocks can be used for operations
that must happen no matter what (i.e.
cleanup operations such as closing a file)
Exception Handling in Java

16

Coding Exceptions

Example

try {
normal program code
}
catch(Exception e) {
exception handling code
}

Exception Handling in Java

17

Coding Exceptions

Passing the exception

In any method that might throw an


exception, you may declare the method
as throws that exception, and thus
avoid handling the exception yourself
Example

public void myMethod throws IOException {


normal code with some I/O
}
Exception Handling in Java

18

Coding Exceptions

Types of Exceptions

All checked exceptions have class


Exception as the parent class.
You can use the actual exception class
or the parent class when referring to an
exception
Where do you find the exception
classes?

Reference books such as Java in a Nutshell


(OReilly, 2001), or the Java Documentation.
Exception Handling in Java

19

Coding Exceptions

Types of Exceptions

Examples:

public void myMethod throws Exception {


public void myMethod throws IOException
{
try { }
catch (Exception e) { }
try { }
catch (IOException ioe) { }
Exception Handling in Java

20

Summary

Exceptions are a powerful error


handling mechanism.
Exceptions in Java are built into the
language.
Exceptions can be handled by the
programmer (try-catch), or handled
by the Java environment (throws).

Exception Handling in Java

21

Vous aimerez peut-être aussi