글
관련 이론 및 문법
(Exception 참고)
http://kkikkodev.tistory.com/173
문제 의도
주어진 소스코드를 컴파일하여 실행한 결과를 고르는 문제입니다.
답안
D
풀이 방법
소스코드를 보면, 크게 2 개의 메소드가 정의되어 있습니다. test 메소드는 RuntimeException 을 throws 하고 있고, 내부에서는 try ~ catch 문으로 감싸져서 Exception 을 받아서 처리하는 구문도 있습니다.
프로그램이 실행되면, main 메소드가 불리고, try 구문에 있는, test(); 문이 호출됩니다. test 정의부로 넘어가게 되고, try 구문 안의 "test " 를 화면에 출력합니다. 그 다음, throw new RuntimeException(); 문을 통해서 RuntimeException 을 발생시킵니다. 그러면 catch(Exception ex) 문으로 들어가게 되고, (RuntimeException 은 Exception 이기 때문에 catch 에서 잡힘) "exception " 을 화면에 출력하게 됩니다. 이미 발생한 Exception 이 처리가 정상적으로 되었으니, 정상적으로 test 메소드가 종료되어 다시 main 메소드로 돌아가게 되고, main 메소드의 catch 문은 건너뛰게 됩니다. (이미 test 메소드 내의 catch 문에서 예외처리를 완료했으므로) 그리고 catch 문 밑으로 가서 "end " 를 화면에 출력하고 main 메소드를 종료하게 됩니다.
결국 test 메소드에서 try ~ catch 문과 throws 문이 동시에 작성되어 있지만, try ~ catch 문이 실행되고, throws 문은 무시된다는 이야기 입니다.
따라서 답안은 D 가 됩니다.
'4.1) OCJP > 1Z0-851 / 2012-08-28' 카테고리의 다른 글
| OCJP (1Z0-851 / 2012-08-28 / Exam C) - 2 번 (0) | 2016.10.29 |
|---|---|
| OCJP (1Z0-851 / 2012-08-28 / Exam C) - 1 번 (0) | 2016.10.29 |
| OCJP (1Z0-851 / 2012-08-28 / Exam B) - 60 번 (0) | 2015.09.10 |
| OCJP (1Z0-851 / 2012-08-28 / Exam B) - 59 번 (0) | 2015.09.10 |
| OCJP (1Z0-851 / 2012-08-28 / Exam B) - 58 번 (0) | 2015.09.10 |
| OCJP (1Z0-851 / 2012-08-28 / Exam B) - 56 번 (0) | 2015.09.10 |
| OCJP (1Z0-851 / 2012-08-28 / Exam B) - 55 번 (0) | 2015.09.10 |
| OCJP (1Z0-851 / 2012-08-28 / Exam B) - 54 번 (0) | 2015.09.10 |
| OCJP (1Z0-851 / 2012-08-28 / Exam B) - 53 번 (0) | 2015.09.10 |
| OCJP (1Z0-851 / 2012-08-28 / Exam B) - 52 번 (2) | 2015.09.10 |
RECENT COMMENT