Какое исключение возникает при попытке доступа к элементу массива по индексу вне его допустимых границ?

«Какое исключение возникает при попытке доступа к элементу массива по индексу вне его допустимых границ?» — вопрос из категории Java Core, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Возникает неконтролируемое (unchecked) исключение ArrayIndexOutOfBoundsException.

Когда выбрасывается:

  • При обращении к отрицательному индексу (например, arr[-1]).
  • При обращении к индексу, равному или большему длины массива (например, arr[arr.length]).

Пример:

int[] numbers = {10, 20, 30};
System.out.println(numbers[5]); // ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 3

Как избежать: Всегда проверяйте индекс перед доступом.

int index = 5;
if (index >= 0 && index < numbers.length) {
    System.out.println(numbers[index]);
} else {
    System.out.println("Индекс " + index + " выходит за границы массива.");
}

Важно: Это подкласс IndexOutOfBoundsException. Аналогичное исключение для коллекций (например, List) — IndexOutOfBoundsException.