RuntimeException is the superclass of all classes that exceptions are thrown during the normal operation of the Java VM (Virtual Machine). The RuntimeException and its subclasses are unchecked exceptions. The most common exceptions are NullPointerException, ArrayIndexOutOfBoundsException, ClassCastException, InvalidArgumentException etc.
- The NullPointerException is the exception thrown by the JVM when the program tries to call a method on the null object or perform other operations on a null object. A user should not attempt to handle this kind of exception because it will only patch the problem and not completely fix it.
- The ArrayIndexOutOfBoundsException is the exception that is automatically thrown by the JRE(Java Runtime Environment) when a program incorrectly tries to access a certain location in a set that is non-existent. This often happens when the array index requested is negative, or more than or equal to the array’s size. The arrays of Java use the zero-based indexing; thus, the first element of that array has a zero index, the last element comes with an index of size 1, and the nth element comes with an index n-1.
- The InvalidArgumentException is an exception raised when an invalid parameter is passed to a certain method on the server’s referenced connection.
Example 1:
Java
// Create public class public class GFG { public void GreeksForGreeks() { // throw exception throw new Greeks(); } public static void main(String[] args) { try { new GFG().GreeksForGreeks(); } // catch exception catch (Exception x) { System.out.println( "example of runtime exception" ); } } } // create subclass and extend RuntimeException class class Greeks extends RuntimeException { // create constructor of this class public Greeks() { super (); } } |
example of runtime exception
Now let’s create one more common example of run time exception called ArrayIndexOutOfBoundsException. This exception occurs when we want to access array more than its size for example we have an array of size 5, array[5] and we want to access array[6]. This is an ArrayIndexOutOfBoundsException because 6 indexes does not exist in this array.
Example 2:
Java
class GFG { public static void main(String[] args) { // create array of 5 size int [] a = new int [] { 1 , 2 , 3 , 4 , 5 }; // execute for loop for ( int i = 0 ; i < 6 ; i++) { // print the value of array System.out.println(a[i]); } } } |
Output
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5 at GFG.main(File.java:10)