문제
다음 Java 코드의 실행 결과를 쓰시오.
Javapublic class Main { static String test() { try { throw new IllegalArgumentException(); } catch (IllegalArgumentException e) { System.out.print("C"); return "X"; } finally { System.out.print("Y"); } } public static void main(String[] args) { String result = test(); System.out.print(result); } }
정답
CYX
CYX
해설
- test() 메서드에서 IllegalArgumentException 발생
- catch 블록이 실행되어 "C" 출력
- catch에서 "X" 반환이 결정됨
- finally 블록이 실행되어 "Y" 출력
- "X"가 반환되어 main에서 출력
- 실행 순서: "C" → "Y" → "X" = "CYX"