Types of Exceptions in Java Built-in exceptions are the exceptions which are available in Java libraries. These exceptions are suitable to explain certain error situations. Below is the list of important built-in exceptions in Java.
Examples of Built-in Exception:
1. Arithmetic exception : It is thrown when an exceptional condition has occurred in an arithmetic operation.
Java
class ArithmeticException_Demo {
public static void main(String args[])
{
try {
int a = 30 , b = 0 ;
int c = a / b;
System.out.println("Result = " + c);
}
catch (ArithmeticException e) {
System.out.println("Can't divide a number by 0 ");
}
}
}
|
Output:
Can't divide a number by 0
2. ArrayIndexOutOfBounds Exception : It is thrown to indicate that an array has been accessed with an illegal index. The index is either negative or greater than or equal to the size of the array.
Java
class ArrayIndexOutOfBound_Demo {
public static void main(String args[])
{
try {
int a[] = new int [ 5 ];
a[ 6 ] = 9 ;
}
catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Array Index is Out Of Bounds");
}
}
}
|
Output:
Array Index is Out Of Bounds
3. ClassNotFoundException : This Exception is raised when we try to access a class whose definition is not found.
Java
class Bishal {
} class Geeks {
} class MyClass {
public static void main(String[] args)
{
Object o = class .forName(args[ 0 ]).newInstance();
System.out.println("Class created for " + o.getClass().getName());
}
}
|
Output:
ClassNotFoundException
4. FileNotFoundException : This Exception is raised when a file is not accessible or does not open.
Java
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
class File_notFound_Demo {
public static void main(String args[])
{
try {
File file = new File("E:
FileReader fr = new FileReader(file);
}
catch (FileNotFoundException e) {
System.out.println("File does not exist");
}
}
}
|
Output:
File does not exist
5. IOException : It is thrown when an input-output operation failed or interrupted
JAVA
import java.io.*;
class Geeks {
public static void main(String args[])
{
FileInputStream f = null ;
f = new FileInputStream("abc.txt");
int i;
while ((i = f.read()) != - 1 ) {
System.out.print(( char )i);
}
f.close();
}
}
|
Output:
error: unreported exception IOException; must be caught or declared to be thrown
6. InterruptedException : It is thrown when a thread is waiting, sleeping, or doing some processing, and it is interrupted.
JAVA
class Geeks {
public static void main(String args[])
{
Thread t = new Thread();
t.sleep( 10000 );
}
}
|
Output:
error: unreported exception InterruptedException; must be caught or declared to be thrown
7. NoSuchMethodException : t is thrown when accessing a method which is not found.
JAVA
class Geeks {
public Geeks()
{
Class i;
try {
i = Class.forName("java.lang.String");
try {
Class[] p = new Class[ 5 ];
}
catch (SecurityException e) {
e.printStackTrace();
}
catch (NoSuchMethodException e) {
e.printStackTrace();
}
}
catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static void main(String[] args)
{
new Geeks();
}
}
|
Output:
error: exception NoSuchMethodException is never thrown
in body of corresponding try statement
8. NullPointerException : This exception is raised when referring to the members of a null object. Null represents nothing
JAVA
class NullPointer_Demo {
public static void main(String args[])
{
try {
String a = null ;
System.out.println(a.charAt( 0 ));
}
catch (NullPointerException e) {
System.out.println("NullPointerException..");
}
}
}
|
Output:
NullPointerException..
9. NumberFormatException : This exception is raised when a method could not convert a string into a numeric format.
JAVA
class NumberFormat_Demo {
public static void main(String args[])
{
try {
int num = Integer.parseInt("akki");
System.out.println(num);
}
catch (NumberFormatException e) {
System.out.println("Number format exception");
}
}
}
|
Output:
Number format exception
10. StringIndexOutOfBoundsException : It is thrown by String class methods to indicate that an index is either negative than the size of the string.
JAVA
class StringIndexOutOfBound_Demo {
public static void main(String args[])
{
try {
String a = "This is like chipping ";
char c = a.charAt( 24 );
System.out.println(c);
}
catch (StringIndexOutOfBoundsException e) {
System.out.println("StringIndexOutOfBoundsException");
}
}
}
|
Output:
StringIndexOutOfBoundsException
Some other important Exceptions
1. ClassCastException
JAVA
class Test {
public static void main(String[] args)
{
String s = new String("Geeks");
Object o = (Object)s;
Object o1 = new Object();
String s1 = (String)o1;
}
}
|
Output:
Exception in thread "main" java.lang.ClassCastException:
java.lang.Object cannot be cast to java.lang.String
2. StackOverflowError
JAVA
class Test {
public static void main(String[] args)
{
m1();
}
public static void m1()
{
m2();
}
public static void m2()
{
m1();
}
}
|
Output:
Exception in thread "main" java.lang.StackOverflowError
3. NoClassDefFoundError
JAVA
class Test
{
public static void main(String[] args)
{
System.out.println("HELLO GEEKS");
}
}
|
Output:
Note: If the corresponding Test.class file is not found
during compilation then we will get Run-time Exception
saying Exception in thread "main" java.lang.NoClassDefFoundError
4. ExceptionInInitializerError
Code 1:
JAVA
class Test {
static int x = 10 / 0 ;
public static void main(String[] args)
{
}
}
|
Output:
Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.lang.ArithmeticException: / by zero
Code 2 :
JAVA
class Test {
static
{
String s = null ;
System.out.println(s.length());
}
public static void main(String[] args)
{
}
}
|
Output:
Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.lang.NullPointerException
Explanation : The above exception occurs whenever while executing static variable assignment and static block if any Exception occurs.
5. IllegalArgumentException
JAVA
class Test {
public static void main(String[] args)
{
Thread t = new Thread();
Thread t1 = new Thread();
t.setPriority( 7 );
t1.setPriority( 17 );
}
}
|
Output:
Exception in thread "main" java.lang.IllegalArgumentException
Explanation:The Exception occurs explicitly either by the programmer or by API developer to indicate that a method has been invoked with Illegal Argument.
6. IllegalThreadStateException
JAVA
class Test {
public static void main(String[] args)
{
Thread t = new Thread();
t.start();
t.start();
}
}
|
Output:
Exception in thread "main" java.lang.IllegalThreadStateException
Explanation : The above exception rises explicitly either by programmer or by API developer to indicate that a method has been invoked at wrong time.
7. AssertionError
JAVA
class Test {
public static void main(String[] args)
{
assert (x >= 10 );
}
}
|
Output:
Exception in thread "main" java.lang.AssertionError
Explanation : The above exception rises explicitly by the programmer or by API developer to indicate that assert statement fails.
IllegalArgumentException: This exception is thrown when an illegal argument is passed to a method. For example:
Java
public void setAge( int age) {
if (age < 0 || age > 120 ) {
throw new IllegalArgumentException( "Invalid age" );
}
this .age = age;
}
|
FileNotFoundException: This exception is thrown when a file cannot be found. For example:
Java
try {
FileReader reader = new FileReader( "file.txt" );
} catch (FileNotFoundException e) {
System.out.println( "File not found" );
}
|
If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!
Last Updated :
12 Jun, 2023
Like Article
Save Article