Last Updated : 19 May, 2021
Exceptions These are the events that occur due to the programmer error or machine error which causes a disturbance in the normal flow of execution of the program.
Handling Multiple exceptions: There are two methods to handle multiple exceptions in java.
Hierarchy of the exceptions:
Divide by zero: This Program throw Arithmetic exception because of due any number divide by 0 is undefined in Mathematics.
Java
// Java Program to Handle Divide By Zero Exception
import java.io.*;
class GFG {
public static void main(String[] args)
{
int a = 6;
int b = 0;
System.out.print(a / b);
// this line Throw ArithmeticException: / by zero
}
}
Output:
Handling of Divide by zero exception: Using try-Catch Block
Java
// Java Program to Handle Divide By Zero Exception
import java.io.*;
class GFG {
public static void main(String[] args)
{
int a = 5;
int b = 0;
try {
System.out.println(a / b); // throw Exception
}
catch (ArithmeticException e) {
// Exception handler
System.out.println(
"Divided by zero operation cannot possible");
}
}
}
Output:
Multiple Exceptions (ArithmeticException and IndexoutOfBound Exception)
// Java Program to Handle multiple exception
import java.io.*;
class GFG {
public static void main(String[] args)
{
try {
int number[] = new int[10];
number[10] = 30 / 0;
}
catch (ArithmeticException e) {
System.out.println(
"Zero cannot divide any number");
}
catch (ArrayIndexOutOfBoundsException e) {
System.out.println(
"Index out of size of the array");
}
}
}
Output:
Explanation: Here combination of ArrayIndexOutOfBounds and Arithmetic exception occur, but only Arithmetic exception is thrown, Why?
According to the precedence compiler check number[10]=30/0 from right to left. That's why 30/0 to throw ArithmeticException object and the handler of this exception executes Zero cannot divide any number.
Another Method of Multiple Exception: we can combine two Exception using the | operator and either one of them executes according to the exception occurs.
Java
// Java Program to Handle multiple exception
import java.io.*;
class GFG {
public static void main(String[] args)
{
try {
int number[] = new int[20];
number[21] = 30 / 9;
// this statement will throw
// ArrayIndexOutOfBoundsException e
}
catch (ArrayIndexOutOfBoundsException
| ArithmeticException e) {
System.out.println(e.getMessage());
// print the message
}
}
}
Output:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4