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)