10-1 예외 클래스

예외exception : 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류

예외와 예외 클래스

일반 예외 exception : 컴파일러 체크 예외

실행 예외 runtime exception : 컴파일러 넌 체크 예외

일반 예외와 실행 예외 클래스는 RuntimeException 클래스 기준으로 구별, RuntimeException의 하위 클래스면 실행 예외 아니면 일반 예외

실행 예외

오로지 개발자의 경험에 의해서 예외 처리 코드를 작성해야 함!

NullPointerException

객체 참조가 없는 상태, null 값을 갖는 참조 변수로 객체 접근 연산자인 .를 사용했을 때 발생

<aside> <img src="/icons/notification_gray.svg" alt="/icons/notification_gray.svg" width="40px" /> 프로그램에서 예외 발생 → 예외 메시지가 Console 뷰에 출력되면서 프로그램 종료

</aside>

ArrayIndexOutOfBoundsException

배열에서 인덱스 범위를 초과할 경우 발생

NumberFormatException

리턴 타입 메소드 이름 (매개변수) 설명
int Integer.parseInt(String s) 주어진 문자열을 정수로 변환해서 리턴
double Double.parseDouble(String s) 주어진 문자열을 실수로 변환해서 리턴

포장Wrapper 클래스 : Integer , Double - 정적 메소드인 parseXXX() 메소드 이요하여 문자열→숫자 변환

숫자로 변환된 수 없는 문자가 포함되면 NumberFormatException 발생

ClassCastException