Updated date:

Programming in Java Netbeans - A Step by Step Tutorial for Beginners: Lesson 32

Danson Wachira is a certified Trainer in Computer Science, Information Technology and related studies.

Table of Contents

<< Lesson 31 | Lesson 33 >>

Lesson 32: Error handling in Java programming language

In the previous lesson, we learnt about the various types of errors that can occur in programming, what causes them and examples of such errors. While some errors such as syntax errors are easy to detect and correct other types such as logical and latent errors are tricky and difficult to trace and correct. In this lesson, we shall specifically address errors and error handling in Java programming language.

Java Exceptions

In Java programming language, errors are said to be Exceptions and are handled by an Exception object. The Exceptions are said to be thrown throughout the program life span and it is the task of the Exception object to catch and handle them. Exceptions in Java programming language are better handled by the try … catch block statement. The structure of try … catch block looks as shown:

programming-in-java-netbeans-a-step-by-step-tutorial-for-beginners-lesson-32

try {

}

catch ( Exception_Type error_variable ) {

}

The try part of the try … catch block literally tries to execute the code or block of codes inside the try part. If an error occurs, Java NetBeans jumps into the catch part and checks if the error is handled, this should happen between the round brackets.

If the required Exception type is found, then the code statement or statements specified between the curly brackets of catch part will be executed. If the required Exception type is not found, then Java will use its default Exception handler to display an error message.

Let us try with a practical example. Create a new Java NetBeans project and call it a name of your choice. Type or copy and paste the following code inside the main class:

try {
int a = 10;
int b = 0;
int c = a / b;

System.out.println( c );
}
catch ( Exception err ) {
System.out.println( err.getMessage( ) );
}

programming-in-java-netbeans-a-step-by-step-tutorial-for-beginners-lesson-32

Notice that in the above program we are trying to divide a number by zero which will automatically throw a run-time error.

We are handling this error inside the catch part where we have Exception err.This is a “catch all” type of Exception error object that returns any general error message when an error is encountered during program execution.

In the curly brackets of catch part we have a println statement but notice what we have inside the brackets: err.getMessage().

This is a method available to Exception objects. It gets the error message associated with the Exception and so we are just getting the message from this method and displaying it on console. Run the program and check on the output.

programming-in-java-netbeans-a-step-by-step-tutorial-for-beginners-lesson-32

The error message generate by err.getMessage() is:

/ by zero

That means a divide by zero error. Java does not allow a divide of a number by zero, hence the error message. Now, let us try a different approach. Modify the variables so that we have the following:

double a = 10.0;
double b = 0.0;
double c = x / y;

Run the program again and this time you’ll get a different error message: Infinity. That is because Java stops the program execution because the result will be an infinitely large number. In Java programming, errors involving numbers should not actually be handled by the “catch all” type of Exception error object but rather by the ArithmeticException.

Replace Exception object inside the catch part with ArithmeticException object. Running the program again will not cause any different output but it is a good programming practice to narrow down the type of error expected. In the next lesson we shall cover how to detect and correct logical errors in Java programming language.

<< Lesson 31 | Lesson 33 >>

Other related hubs...

Want to make money online?

Comments

Danson Wachira (author) from Nairobi, Kenya on November 18, 2012:

Hi teaches12345,

It is always good to see you on my hubs, reading and commenting, I really appreciate that.

Danson Wachira (author) from Nairobi, Kenya on November 18, 2012:

Hi rfmoran,

Thanks for visiting this hub and commenting. Hub love keep us strong and going.

Dianna Mendez on November 17, 2012:

All set for this should I ever need it, Dwachira. Great instructions and very easy to follow. I know many will get good use out of this one.

Russ Moran - The Write Stuff from Long Island, New York on November 17, 2012:

Danson, I voted this hub up and useful even though it is completely beyond my field. I stopped by to see how your write on such a technical subject. Bravo - Keep doing a great job (I assume it's great - all I know is that you write well) . This is powerful niche marketing - take care of a person's need and they will flock to you doorstep (or hubpage).

Related Articles