Java – Exception Handling5 min read

An exception in Java is an event that arises during the execution of a program i.e. during runtime. The occurrence of an exception in a program disrupts the normal flow of instructions. This causes the termination of the program or application and therefore needs to be handled by calling an exception handler, which deals with the exception.

An exception may occur for the invalid user input, or the files that need to be opened cannot be found., or loss of network connection.

Exception handling is a mechanism to maintain the normal flow of a program by handling runtime errors. The main advantage of exception handling is to ensure that even when an exception occurs, the program’s flow doesn’t break.

Type of exception in Java:

  • Checked:
    Checked Exceptions are also known as compile-time exceptions. These exceptions are checked by the compiler during compile-time. If a checked exception is found within the method then the method must be handled by try and catch or must declare an exception by throws keyword. These exceptions are not to be ignored.
    Some of the checked Exceptions occur are SQLException, IOException, ClassNotFoundException, etc.
  • Unchecked Exception:
    Unchecked Exceptions are also known as run-time exceptions. These exceptions occur during the time of execution of a program that is at run-time. These exceptions are not checked during compilation.
    Some of the Unchecked Exceptions occur are ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException, etc.
  • Error:
    Errors are not an exception but are the problem that a user or programmer cannot handle. We can say that these are irrecoverable such as VirtualMachineError, OutOfMemoryError, AssertionError, etc.

Exception Hierarchy:

All exception classes are subtypes of the java.lang.Exception class. The exception types and errors are the subclasses of the Throwable class. Furthermore, they are also divided into a runtime exception and other exceptions as shown in the figure.

Exception Hierarchy
Exception Hierarchy

Handling Exception in Java:

Exception in Java is handled using five keywords:

1. try
2. catch
3. throw
4. throws
5. finally.

Try-Catch:

This is one of the common ways to handle the exception. The combination of try and catch keyword is used in a method to catch an exception.
The try block contains the exception code and the catch block is used to handle the exception if it occurs in the try block.

Syntax for try-catch block:

Example: Java program to demonstrate try-catch:

Let us see it in an example, where the code tries to try to access the fourth element in an array that has only 3 elements:

Output:

Not Found


Java Multiple Catch Block:

The code having multiple catch blocks which are followed by a try block. If there are different exceptions then each block of multiple catches must contain different exception handlers. Also, one catch block is executed at a time.

Syntax for Multiple Catch Block:

Example: Java program to demonstrate the Multiple catch block:

Output:

Arithmetic Exception occurs


Throw:

The throw keyword in Java is used to explicitly throw an exception from any block of code. throw keyword allows us to create a custom error or throw a custom exception.

Syntax of throw keyword:

For example, we can throw ArithmeticException when we divide the number by 3, or any other numbers, we only need to do is set the condition and throw an exception using throw keyword. Such as:

Example: Java Program to demonstrate throw:

Let us see it in a program:
Check for roll no. greater than 12, if true then allowed and if not then not allowed.

Output:


Throws

throws keyword in java is used to declare an exception. It indicates that the method may throw an exception and it’s better to handle the exception using a try-catch block to maintain the normal flow of the program.

Syntax of throws keyword:

Example: Java Program to demonstrate throws:

Output:

exception is handled normal flow maintained


Finally

Finally block is used to execute the code followed by the try-catch block. finally block is always executed whether an exception is handled or not. This block appears at the end of the catch block.

Syntax of throws keyword:

Example: Java Program to demonstrate finally:

Output:

Exception thrown :java.lang.ArrayIndexOutOfBoundsException: 6
Value of third element: 4
Execution of finally.


MORE

Java Program to find the sum of the Largest Forward Diagonal

in this tutorial, we will write a java program to find the sum of the Largest Forward Diagonal in an Arraylist (matrix). Java Program to …

C Program to search an element in an array using Pointers

A separate function( search_function()) will be created where the array pointer will be declared and the searched element along with the size of an array …

C Program to find the sum of the digits of a number using recursion function

This C program calculates the sum of digits of a given number using recursion. Here’s a concise explanation: Function Definition: sumDigits(int n) This function calculates …

C program to find factorial of a number using Ternary operator with Recursion

Recursion refers to the function calling itself directly or in a cycle. Before we begin, you should have the knowledge of following in C Programming: …

C Program to Add Two Numbers Using Call by Reference

The program takes the two numbers from the user and passes the reference to the function where the sum is calculated. You may go through …

Find the output ab, cd, ef, g for the input a,b,c,d,e,f,g in Javascript and Python

In this tutorial, we will write a program to find a pairs of elements from an array such that for the input [a,b,c,d,e,f,g] we will …