Basics of Exception Handling in Java

By: Manoj Kumar Printer Friendly Format    

A Java exception is an object that describes an exceptional (that is, error) condition that has occurred in a piece of code. When an exceptional condition arises, an object representing that exception is created and thrown in the method that caused the error. That method may choose to handle the exception itself, or pass it on. Either way, at some point, the exception is caught and processed. Exceptions can be generated by the Java run-time system, or they can be manually generated by your code. Exceptions thrown by Java relate to fundamental errors that violate the rules of the Java language or the constraints of the Java execution environment. Manually generated exceptions are typically used to report some error condition to the caller of a method.

Java exception handling is managed via five keywords: try, catch, throw, throws, and finally. Briefly, here is how they work. Program statements that you want to monitor for exceptions are contained within a try block. If an exception occurs within the try block, it is thrown. Your code can catch this exception (using catch) and handle it in some rational manner. System-generated exceptions are automatically thrown by the Java runtime system. To manually throw an exception, use the keyword throw. Any exception that is thrown out of a method must be specified as such by a throws clause. Any code that absolutely must be executed before a method returns is put in a finally block. This is the general form of an exception-handling block:

try {
// block of code to monitor for errors
catch (ExceptionType1 exOb) {
// exception handler for ExceptionType1

catch (ExceptionType2 exOb) {
// exception handler for ExceptionType2

// ...
finally {
// block of code to be executed before try block ends

Here, ExceptionType is the type of exception that has occurred. The remainder of this chapter describes how to apply this framework.

Most Viewed Articles (in Java )

Latest Articles (in Java)

Comment on this tutorial