ArrayIndexOutOfBoundsException

2024. 5. 8. 09:40정보처리,전산/JAVA

반응형

 

public class arth {
    public static void main(String[] args) {
        int a[] = {1, 2, 3, 4}; // 배열 설정
        try {
            for (int i = 0; i < a.length; i++) { // 수정된 부분: 배열의 길이만큼 반복
                System.out.print(a[i]);    // 값 출력
            }
            System.out.println();
        } catch (ArithmeticException e) {
            System.out.print("A");
        } catch (ArrayIndexOutOfBoundsException e) {
            System.out.print("B");
        } finally {
            System.out.print("C");
        }
    }
}​

 

1,2,3,4 를 가지는 배열 a를 선언하고 try 블록 내에서는 배열 a의 각 요소를 배열의 길이만큼 반복하여 출력한다

  • ArithmeticException: 해당 코드에서는 발생하지 않으므로 이 블록은 실행되지 않음
  • ArrayIndexOutOfBoundsException: 배열의 인덱스가 범위를 벗어날 때 이 예외가 발생하여 "B"가 출력
  • finally 블록은 예외 발생 여부와 관계없이 항상 실행된다. "C" 출력

따라서 정상적으로 코드가 실행되면 배열 a의 요소인 1, 2, 3, 4가 순서대로 출력되고, 마지막에 "C"가 출력됩니다. 하지만 배열의 길이를 초과하여 접근하려고 하면 ArrayIndexOutOfBoundsException가 발생하여 "B"와 "C"만 출력됩니다.



ArithmeticException은 산술 연산에서 발생할 수 있는 예외

  1. 정수를 0으로 나누는 경우
  2. 부동 소수점 연산에서의 특수한 경우 (예: 무한대 또는 NaN으로 나누는 경우)
 
반응형

'정보처리,전산 > JAVA' 카테고리의 다른 글

1차 배열 내림차순 정렬  (0) 2024.06.01
2차원 배열  (0) 2024.06.01
객체 생성  (0) 2024.04.21
public static void main(String[] args)  (0) 2024.04.12
static  (0) 2024.04.12