비정상적인 상황
예외도 하나의 객체로 표현됨
java.lang.Throwable로부터 파생됨
생성자, 멤버 필드, 메소드 등을 가질 수 있음
throws(던져질) 수 있다 -> 일반 객체와 차이점
상대적으로 덜 심각한 예외
보통 예외라 불림
필요시 예외처리
RuntimeException 이하 클래스
- ArithmeticException : 0으로 나눔
- ArrayIndexOutOfBoundsException : 잘못된 배열 첨자 사용
- NegativeArraySizeException : 배열 선언시 할당크기 음수인 경우
- ClassCastException : 잘못된 형변환 사용
- NullPointerException : null값 참조변수로 멤버 접근시
- NumberFormatException : 일치하지 않는 자료형의 숫자로 변환시
- java.util.InputMismatchException : 입력 받고자 하는 자료형과 입력된 값의 자료형이 다른 경우
- java.io.IOExcaption : 입출력 실패 -> (오류처리 필수)
반드시 예외처리 필요
상대적으로 더 심각한 예외
보통 에러라 불림 (예외처리 불가)
Throwable 클래스의 멤버 메서드
try{ //1개
예외 발생 가능성있는 실행문
}
catch{ //1개 이상
예외 처리문
}
finally{ //선택적 사용
예외 발생 여부와 상관없이 무조건 실행
}
throw문 - 지정한 예외 객체에 대해 예외처리 강제 실행 (throws와 다름)
throw <예외객체>;
throw new <예외클래스생성자>;
Exception 클래스(Exception의 서브 클래스)로부터 상속 받아 정의~~~Exception이란 이름 사용