Builtin Exceptions in Java with examples (original) (raw)

Last Updated : 03 Jul, 2024

Types of Exceptions in Java Built-in exceptions are the exceptions that 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 `

// Java program to demonstrate // ArithmeticException class ArithmeticException_Demo { public static void main(String[] args) { try { int a = 30, b = 0; int c = a / b; // cannot divide by zero 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 `

// Java program to demonstrate // ArrayIndexOutOfBoundException class ArrayIndexOutOfBound_Demo { public static void main(String[] args) { try { int[] a = new int[5]; a[5] = 9; // accessing 6th element in an array of // size 5 } 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 `

// Java program to illustrate the // concept of ClassNotFoundException class Bishal {

}

class Geeks {

}

class MyClass { public static void main(String[] args) { try { Object o = Class.forName(args[0]).newInstance(); System.out.println("Class created for " + o.getClass().getName()); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) { System.out.println("Exception occurred: " + e.getMessage()); } } }

`

Output:

ClassNotFoundException

**4. FileNotFoundException : This Exception is raised when a file is not accessible or does not open.

Java `

// Java program to demonstrate // FileNotFoundException import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader;

class File_notFound_Demo { public static void main(String[] args) { try { // Following file does not exist File file = new File("file.txt"); 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 `

// Java program to illustrate IOException import java.io.*;

class Geeks { public static void main(String[] args) { try { FileInputStream f = new FileInputStream("abc.txt"); int i; while ((i = f.read()) != -1) { System.out.print((char)i); } f.close(); } catch (IOException e) { System.out.println("IOException occurred: " + e.getMessage()); } } }

`

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 `

// Java Program to illustrate // InterruptedException 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 `

// Java Program to illustrate // NoSuchMethodException class Geeks { public Geeks() { try { Class<?> i = Class.forName("java.lang.String"); try { i.getMethod("someMethod", Class[].class); } catch (SecurityException | 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 `

// Java program to demonstrate NullPointerException class NullPointer_Demo { public static void main(String[] args) { try { String a = null; // null value 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 `

// Java program to demonstrate // NumberFormatException class NumberFormat_Demo { public static void main(String[] args) { try { // "akki" is not a number 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 `

// Java program to demonstrate // StringIndexOutOfBoundsException class StringIndexOutOfBound_Demo { public static void main(String[] args) { try { String a = "This is like chipping "; // length is 22 char c = a.charAt(24); // accessing 25th element System.out.println(c); } catch (StringIndexOutOfBoundsException e) { System.out.println("StringIndexOutOfBoundsException"); } } }

`

Output:

StringIndexOutOfBoundsException

**Some other important Exceptions

**1. ClassCastException

JAVA `

// Java Program to illustrate // ClassCastException class Test { public static void main(String[] args) { String s = "Geeks"; Object o = s; try { String s1 = (String) new Object(); } catch (ClassCastException e) { System.out.println("ClassCastException occurred: " + e.getMessage()); } } }

`

Output:

Exception in thread "main" java.lang.ClassCastException:
java.lang.Object cannot be cast to java.lang.String

**2. StackOverflowError

JAVA `

// Java Program to illustrate // StackOverflowError 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 `

public class NoClassDefFoundErrorExample { public static void main(String[] args) { try { // Trying to create an instance of a class that doesn't exist MyNonExistentClass obj = new MyNonExistentClass(); } catch (NoClassDefFoundError e) { System.out.println("NoClassDefFoundError occurred: " + e.getMessage()); } } }

`

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 `

// Java Program to illustrate // ExceptionInInitializerError 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 `

// Java Program to illustrate // ExceptionInInitializerError 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 `

// Java Program to illustrate // IllegalArgumentException class Test { public static void main(String[] args) { Thread t = new Thread(); Thread t1 = new Thread(); t.setPriority(7); // Correct t1.setPriority(17); // Exception } }

`

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 `

// Java Program to illustrate // IllegalStateException 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 `

// Java Program to illustrate // AssertionError class Test { public static void main(String[] args) { int x = 5; // If x is not greater than or equal to 10 // then we will get the AssertionError assert (x >= 10) : "x is less than 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 class IllegalArgumentExceptionExample { public static void main(String[] args) { try { // Trying to pass an invalid argument to a method calculateArea(-5.0); } catch (IllegalArgumentException e) { System.out.println("IllegalArgumentException occurred: " + e.getMessage()); } }

public static void calculateArea(double radius) {
    if (radius < 0) {
        // Throwing an IllegalArgumentException with a custom message
        throw new IllegalArgumentException("Radius cannot be negative");
    }
    double area = Math.PI * radius * radius;
    System.out.println("Area: " + area);
}

}

`

Output

IllegalArgumentException occurred: Radius cannot be negative

FileNotFoundException: This exception is thrown when a file cannot be found.

For example:

Java `

import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException;

public class FileNotFoundExceptionExample { public static void main(String[] args) { try { // Trying to read a file that doesn't exist readFile("non-existent-file.txt"); } catch (FileNotFoundException e) { System.out.println("FileNotFoundException occurred: " + e.getMessage()); } catch (IOException e) { System.out.println("IOException occurred: " + e.getMessage()); } }

public static void readFile(String fileName) throws FileNotFoundException, IOException {
    File file = new File(fileName);
    FileInputStream fis = new FileInputStream(file);

    // Read the contents of the file
    byte[] buffer = new byte[1024];
    int bytesRead;
    while ((bytesRead = fis.read(buffer)) != -1) {
        // Process the read bytes
        System.out.println("Read " + bytesRead + " bytes.");
    }

    fis.close();
}

}

`

Output

FileNotFoundException occurred: non-existent-file.txt (No such file or directory)