The ArrayIndexOutOfBoundsException
is a runtime exception in Java that occurs when an array is accessed with an illegal index. The index is either negative or greater than or equal to the size of the array.
Since the ArrayIndexOutOfBoundsException
is an unchecked exception, it does not need to be declared in the throws
clause of a method or constructor.
 
What Causes ArrayIndexOutOfBoundsException
The ArrayIndexOutOfBoundsException
is one of the most common errors in Java. It occurs when a program attempts to access an invalid index in an array i.e. an index that is less than 0, or equal to or greater than the length of the array.
Since a Java array has a range of [0, array length - 1], when an attempt is made to access an index outside this range, an ArrayIndexOutOfBoundsException
is thrown.
 
ArrayIndexOutOfBoundsException Example
Here is an example of a ArrayIndexOutOfBoundsException
thrown when an attempt is made to retrieve an element at an index that falls outside the range of the array:
public class ArrayIndexOutOfBoundsExceptionExample {
public static void main(String[] args) {
String[] arr = new String[10];
System.out.println(arr[10]);
}
}
In this example, a String
array of length 10 is created. An attempt is then made to access an element at index 10, which falls outside the range of the array, throwing an ArrayIndexOutOfBoundsException
:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 10 out of bounds for length 10
at ArrayIndexOutOfBoundsExceptionExample.main(ArrayIndexOutOfBoundsExceptionExample.java:4)
 
How to Fix ArrayIndexOutOfBoundsException
To avoid the ArrayIndexOutOfBoundsException
, the following should be kept in mind:
- The bounds of an array should be checked before accessing its elements.
- An array in Java starts at index
0
and ends at indexlength - 1
, so accessing elements that fall outside this range will throw anArrayIndexOutOfBoundsException
. - An empty array has no elements, so attempting to access an element will throw the exception.
- When using loops to iterate over the elements of an array, attention should be paid to the start and end conditions of the loop to make sure they fall within the bounds of an array. An enhanced for loop can also be used to ensure this.
 
Track, Analyze and Manage Errors With Rollbar
Managing errors and exceptions in your code is challenging. It can make deploying production code an unnerving experience. Being able to track, analyze, and manage errors in real-time can help you to proceed with more confidence. Rollbar automates error monitoring and triaging, making fixing Java errors easier than ever. Sign Up Today!