안드로이드 개발

[해결완료] java.lang.ArrayIndexOutOfBoundsException

피커 2023. 5. 3. 12:49
728x90
반응형

안드로이드 앱을 개발하다보면 배열을 사용하면서 에러 (exception)이 발생하곤 합니다.

이때 간단히 에러처리하는 방법 공유합니다.

 

아래처럼 배열 코드를 작성했을때 실행하면 에러가 발생합니다.

array code

실제 실행하고 나면 아래처럼 array index 에러가 발생합니다.

 

에러가 발생하는 사유는 실제 fruit 배열에 넣은 아이템은 4개인데, while (i < 5) 코드에서 (0,1,2,3,4) 이렇게 5개를

사용하기 때문입니다.

 

해결 방법1

while (i < 5)  를 while (i < 4) 로 변경합니다.

 

해결 방법2

이번 예제와 다르게 array값이 몇개 들어올지 모르는 경우이고, 앱이 멈추는 현상만 없으면 문제 없는 경우에는

아래처럼 exception 코드를 추가하면 간단히 해결이 됩니다.

 

 

아래는 실행 했을때 로그입니다.

array exception 로그가 찍히는것을 확인가능합니다.

 

2023-05-03 12:47:17.416  6767-6767  System.out              com.picker.javaexception             I  Apple
2023-05-03 12:47:17.416  6767-6767  System.out              com.picker.javaexception             I  Orange
2023-05-03 12:47:17.416  6767-6767  System.out              com.picker.javaexception             I  Berry
2023-05-03 12:47:17.417  6767-6767  System.out              com.picker.javaexception             I  Banana
2023-05-03 12:47:17.417  6767-6767  System.out              com.picker.javaexception             I  Array exception.

 

앱은 아래처럼 정상적으로 동작하게 됩니다.

 

반응형