Java – Exception Handling5 min read

Exception in Java

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.

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

Let us see the 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 in a runtime exception and other exception 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.


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 which has only 3 elements:


Java Multiple Catch Block:

The code having multiple catch blocks which are followed by 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:



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.



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:



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:



Java Program to check Krishnamurthy Number

In this tutorial, we will learn about Krishnamurthy numbers and write a Krishnamurthy Number program in Java. We will write two programs for Krishnamurthy number …
Read More

Java Program for ISBN Number

In this tutorial, we will learn about the ISBN (International Standard Book Number) and write a program to check for the ISBN Number in Java …
Read More

C++ Memory Management

Memory management refers to the process of managing the computer memory while assigning the space to the program’s variable to improve the overall performance. Requirement …
Read More

C++ Pointer to Pointer

As we know by now that a pointer stores the address of the pointed variable. But it is not the only use, pointer also stores …
Read More

C++ Passing Pointers to Functions

A function is a user-defined block of codes that executes some specific task assigned to it invoked by its name. If there is an argument …
Read More

C++ Null Pointer

We use a null pointer when we do not have the exact address to assign to a pointer. It is considered a good practice and …
Read More