문제
아래 Java 코드의 출력 결과는?
Javapublic class Main { static void div(int a, int b) { try { System.out.print(a/b); } catch(ArithmeticException e) { System.out.print("err"); } finally { System.out.print("Done"); } } public static void main(String[] args) { div(5, 5); } }
① Done ② 1Done ③ err ④ 1
정답
2번
해설
정답: 2. 5/5는 1이므로 예외가 발생하지 않고, finally 블록은 항상 실행되어 Done이 이어서 출력된다.
오답 풀이
- 1번: try 블록의 출력 1이 빠졌다.
- 2번: 1과 Done이 이어서 출력되어 맞다.
- 3번: 0으로 나누지 않았으므로 예외가 발생하지 않는다.
- 4번: finally 블록 출력이 빠졌다.
보충 개념 finally 블록은 예외 발생 여부와 관계없이 실행된다.