Jawa

Java exception handling

Java exception handling
When the normal flow of the program execution interrupts for any error, then it is called an exception. This type of event can be handled by using a try-catch-finally block. An exception is an object that is used to catch the error and run the statement based on the error condition that is called exception handling. Mainly two types of error are handled by exception handling. These are compiled time errors and run-time errors. The run-time errors are handled by exception handling. How you can handle exceptions in Java is explained in this tutorial.

Syntax:

The syntax of the try-catch-finally block is given below.

try
statement 1… N

catch (ExceptiontType var)
statement 1… N

finally
statement 1… N

Here, if an exception occurs within the try block, then the exception will be thrown to the catch block, and the finally block is optional here. The code of the finally block executes whether an exception occurs or not.

Example-1: Exception handling with a single catch block

The following example shows the use of exception handling using a single catch block. A filename will be taken as input and create an object of BufferedReader to open a file for reading. If the filename exists, then the content of the file will be read line by line and printed. If the file does not exist, then an exception will be generated, and an error message will be printed.

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;
public class except1
public static void main(String[] args)
// Create a Scanner object
Scanner in = new Scanner(System.in);
System.out.print("Enter the filename : ");
// Take string data from the user
String FileName = in.next();
try
//Create a reader object
BufferedReader reader = new BufferedReader(new FileReader(FileName));
//Read the first line if the file exists
String line = reader.readLine();
while (line != null)
//Print the line
System.out.println(line);
//Read the next line
line = reader.readLine();

//Close the reader object
reader.close();
//Close the scanner object
in.close();
catch (IOException e)
//Print the error message
System.out.println("File does not exist");


Output:

In the following output,  'hello.txt' is given as the filename that does not exist. So the following message is printed.

Next time, file1.txt is given as filename that exists, and the output shows the content of the file.

Example-2: Exception handling with multiple catch block

How you can use multiple catch blocks to handle multiple exceptions is shown in the following example. Here, three catch blocks are declared. The first catch block will catch the arithmetic error when any illogical arithmetic operation is done. The second catch bock will catch the out of range error of array when an array index value will be tried to read that does not exist. The third catch block will catch the numeric value error when any character or string value is given as an array value. In the code, an array with four indexes is declared and initialized with the integer values that will be taken from the user. The array values are printed using a loop. A division operation is done at the end of the try block.

import java.util.Scanner;
public class except2
public static void main(String[] args)

try

//Declare a numeric array
int num_arr[] = new int[4];
//Create a Scanner object
Scanner in = new Scanner(System.in);
System.out.println("Enter four numbers:");
//Iterate the loop four times
for (int i = 0; i < 4; i++)
//Input number
int n = in.nextInt();
//Assign value to array
num_arr[i] = n;

System.out.println("Array values are:");
//Iterate the loop five times
for (int i = 0; i < 4; i++)
//Print the array values
System.out.println(num_arr[i]);

//Divide and print the value
int num = 50/0;
System.out.print(num);
//Close the scanner object
in.close();

catch(ArithmeticException e)

System.out.println("No number is divisible by 0");

catch(ArrayIndexOutOfBoundsException e)

System.out.println("Out of array index value occurred");

catch(Exception e)

System.out.println("Number value is not given");


Output:

The following output shows that array values are inserted and printed properly, but the third catch block is executed because 50 is divided by 0, which is an error.

The program is executed for the second time. When a string value is given as an array value, then the second exception is generated, and the statement of the second catch block is executed.

Example-3: Exception handling with try-catch-finally block

The use of finally block with the try-catch block is shown in the following example. The code of finally block executes if an exception occurs or not. In the code, an integer value will be taken from the user. If the user gives any string value, then InputMismatchException

will generate and print the message from the catch block. Scanner object will be closed in the finally block if the exception generates or not.

import java.util.Scanner;
import java.util.InputMismatchException;
public class except3
public static void main(String[] args)
//Create a Scanner object
Scanner in = new Scanner(System.in);
System.out.print("Enter a number : ");
try
//Take string data from the user
int number = in.nextInt();
//Print the number
System.out.println("The value of number = " + number);
catch(InputMismatchException e)
//Print error message
System.out.println("String value is not accepted.");

finally
//Close the scanner object
in.close();
System.out.println("Terminated from the program");


Output:

78 is given as input value in the following output after executing the code. So, no exception is generated here. The message from the finally block is printed later.

Next, hello is given as input after executing the code that is a string. So, the exception is generated, and the error message from the catch block is printed. The message from the finally block is printed later.

Conclusion:

Exception handling is a very important and useful feature of any programming language that can be used to hide the real error message from the user and provide the human-readable error message for the user to understand the error properly. This tutorial helps the user to learn different ways of applying exception handling in Java and make their code more appropriate.

Microsoft Sculpt Touch Wireless Mouse Review
I recently read about the Microsoft Sculpt Touch wireless mouse and decided to buy it. After using it for a while, I decided to share my experience wi...
AppyMouse On-screen Trackpad and Mouse Pointer for Windows Tablets
Tablet users often miss the mouse pointer, especially when they are habitual to using the laptops. The touchscreen Smartphones and tablets come with m...
Middle mouse button not working in Windows 10
The middle mouse button helps you scroll through long webpages and screens with a lot of data. If that stops, well you will end up using the keyboard ...