다음 Java 프로그램의 실행 결과로 옳은 것은?class Divisi… | [계리직 컴퓨터일반] 16년 1회차 기출문제 상세 페이지
1[계리직 컴퓨터일반] 16년 1회차
다음 Java 프로그램의 실행 결과로 옳은 것은?class Division {
public static void main(String[] args) {
int a, b, result;
a = 3;
b = 0;
try {
result = a / b;
System.out.print("A");
}
catch (ArithmeticException e) {
System.out.print("B");
}
finally {
System.out.print("C");
}
System.out.print("D");
}
}
1
ACD
2
BCD
3
ABCD
4
BACD
해설
출력 결과는 BCD이다.
정수 3을 0으로 나누면 ArithmeticException이 발생해 try 블록의 나머지(A 출력)는 실행되지 않고 catch 블록에서 B를 출력한다. 이어 finally 블록은 항상 실행되어 C를, 예외 처리가 끝난 뒤 D를 출력한다.
- ACD: 예외가 발생하지 않았을 때의 흐름으로, A는 출력될 수 없다.
- ABCD: 예외 발생 지점 이후의 A 출력문까지 실행된 것으로 본 잘못된 결과이다.
- BACD: 예외 처리 후 try 블록으로 되돌아가지 않으므로 A가 나올 수 없다.
오류나 개정된 내용이 보이면 알려주세요