관련 이론 및 문법

(Exception 참고)

http://kkikkodev.tistory.com/173


문제 의도

데스크탑 애플리케이션을 만들기 위해서 Java SE 기술을 사용하는 프로그래머에 의해 발생될 수 있는 것을 보기에서 고르는 문제입니다.


답안

D


풀이 방법

ClassCastException, NullPointerException, NoClassDefFoundError, ArrayIndexOutOfBoundsException 은 명시적으로 프로그래밍적으로 throw 를 하는 문장들이 없는 경우가 많습니다. 


예를 들어, 잘못 형변환 하는 문장 (ClassCastException), 인스턴스 변수가 null 인데 멤버에 접근하려는 문장 (NullPointerException), 배열에서 벗어난 범위를 접근하는 문장 (ArrayIndexOutOfBoundsException) 등은 따로 조건을 체크해서 throw 하는 문장들이 대부분 없어도 JVM 에서 자동으로 체크해서 throw 해줍니다. 그리고 NoClassDefFoundError 는 Error 의 하위클래스이므로 매우 중요한 상황에 발생해야 하므로 이 또한 JVM 이 알아서 발생시킵니다.


하지만, NumberFormatException 같은 경우는 주로 Wrapper 클래스 (Integer, Double 등) 의 메소드를 사용할 때 명시적으로 조건을 체크해서 프로그래밍적으로 throw 를 해주고 있습니다.


따라서 프로그래밍적으로 발생될 수 있는 것은 NumberFormatException 이므로 보기 D 가 답안이 됩니다.


by kkikkodev 2016. 11. 13. 01:19