IndexOutOfBoundsException — 인덱스가 범위를 벗어났을 때

IndexOutOfBoundsException — 인덱스가 범위를 벗어났을 때

IndexOutOfBoundsException은 배열·문자열·벡터 같은 것의 인덱스(index)가 범위를 벗어났을 때 던져지는 예외예요.

출처: Java API Reference

본문

컬렉션이나 배열에 대해 0 <= index < size 범위를 벗어난 위치에 접근하려 하면 이 예외가 나와요. 애플리케이션은 이 클래스를 상속받아 비슷한 성격의 예외를 직접 만들 수도 있어요. 대표적인 하위 클래스로는 배열 인덱스 문제를 다루는 ArrayIndexOutOfBoundsException과 문자열 인덱스 문제를 다루는 StringIndexOutOfBoundsException이 있어요.

상속 구조는 다음과 같아요.

java.lang.Object
  java.lang.Throwable
    java.lang.Exception
      java.lang.RuntimeException
        java.lang.IndexOutOfBoundsException

생성자

  • IndexOutOfBoundsException() — 상세 메시지 없이 생성해요.
  • IndexOutOfBoundsException(int index) — 잘못된 인덱스를 인자로 받아 생성해요. 인덱스는 상세 메시지에 포함되고, 메시지의 정확한 표기 형식은 명세되지 않아요 (자바 9부터).
  • IndexOutOfBoundsException(long index)long 형태의 잘못된 인덱스를 받아 생성해요 (자바 16부터).
  • IndexOutOfBoundsException(String s) — 지정된 상세 메시지로 생성해요.

인덱스를 인자로 받는 생성자는 메시지에 실제 범위를 벗어난 인덱스 값을 담아 주므로 디버깅에 더 유용해요.

더 알아보기 (Learn more)