모두CBT

24-3아래 Java 프로그램이 출력하는 값을 적으시오.public c… | 2024년 정보처리기사실기 3회차 기출문제 상세 페이지

9

24-3

아래 Java 프로그램이 출력하는 값을 적으시오.

public class Main {
    static void run() throws Exception {
        throw new ArithmeticException();
    }
    public static void main(String[] args) {
        int res = 5;
        try {
            run();
            res += 1000;
        } catch (ArithmeticException e) {
            res *= 3;
        } catch (RuntimeException e) {
            res *= 7;
        } catch (Exception e) {
            res += 50;
        } finally {
            res += 200;
        }
        System.out.print(res);
    }
}
해설

215


[해설]

run()이 던진 ArithmeticException 때문에 res += 1000은 실행되지 않는다.

catch는 위에서부터 검사하며 처음 맞는 하나만 실행된다. 첫 번째 ArithmeticException 블록이 잡아 res = 5 × 3 = 15가 된다.

RuntimeException·Exception 블록은 건너뛰고, finally는 항상 실행되어 15 + 200 = 215가 된다.

최종 출력은 215다. 하위 예외를 먼저, 상위 예외를 나중에 두어야 컴파일 오류가 나지 않는다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.