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다. 하위 예외를 먼저, 상위 예외를 나중에 두어야 컴파일 오류가 나지 않는다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.