🤔 ArrayIndexOutOfBoundsException 란?
배열의 index가 유효한 범위를 벗어났다는 예외이다.
💻 Exception에 대해 잠깐 설명해보자.
크게 Runtime Exception과 아닌것들로 나뉘게 된다.
Runtime Exception은?
- Unchecked Exception이라고도 부른다.
- 명시적인 처리를 강제하지 않지 않음. ( try/catch 또는 throws로 선택 처리 )
- 실행단계에서 확인이 가능하다.
- ex) ArrayIndexOutOfBoundsException, IndexOutOfBoundException, NullPointerException ...
Checked Exception은?
- 반드시 예외처리를 해야한다. ( try/catch 또는 throws로 반드시 처리 )
- 컴파일 단계에서 확인 가능하다.
- Exception을 상속받는 하위 클래스 중 RuntimeException을 제외한 모든 예외
- ex) IOException, SQLException ...
💻 IDE에 ArrayIndexOutOfBoundsException 클래스를 들어가면 다음과 같이 적혀있다.
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.
배열이 잘못된 인덱스로 접근되었음을 나타내기 위해 발생하게 된다.
인덱스가 음수이거나 배열 크기보다 크거나 같습니다.
📑 예시를 들어보자
이렇게 실행했을때 다음과 같이 예외가 발생하게 된다.
arr배열의 인덱스가 유효한 범위인 0~4를 벗어났기에 예외가 발생한 것이다.
해결하기 위해서는 0~4까지의 인덱스를 쓰거나 배열의 길이를 6까지 늘려서 인덱스를 0~5까지 확장하여야 한다.
'프로그래밍 > 예외,에러' 카테고리의 다른 글
Swagger 3.0 documentationPluginsBootstrapper 에러 해결하기 (0) | 2023.05.03 |
---|---|
스프링부트 실행 시 IllegalStateException 발생 (0) | 2023.02.13 |
Java ConcurrentModificationException (0) | 2022.01.21 |