Exceptions
Try ... catch ... finally
try {...}
catch (MyException e) {...}
catch (AnotherException e) {...}
finally {...}
- Catch blocks in the same function in
which the exception was
thrown will not be executed.
- Finally blocks are useful for cleanup
code that must always
be executed.
- Finally blocks always execute after the
flow-of-control
leaves the try block, whether by continue, break, return, throw, or
finishing the try block.
Throw
- Any object that implements
the Throwable
interface can be thrown; however, generally only throw objects derived
from
class Exception.
if (x != 4)
throw new MyException();
Throws
double MyMethod()
throws ExceptionName [, ExceptionName]*
{...}
- Declares the exceptions that a method
may throw.
- If a method might throw an exception,
or doesn't handle one
it might receive, the method must declare the exception.
Common exceptions
- ArithmeticException
- ArrayIndexOutOfBoundsException
- ClassCastException
- InterruptedException
- IOException
- NullPointerException
- OutOfMemoryException
Debugging
e.getMessage(); // Returns a descriptive string.
e.toString(); // Displays the exception type.
e.printStackTrace(); // Shows where the exception occurred.