1.
예외 클래스의 계층 구조

Object >> 최고조상
Throwable >> 모든 오류의 조상
Exception >> 미약한 오류
Error >> 심각한 오류
2.
Exception과 RuntimeException

IOException >> 입출력 예외.
(Input / Output)
ClassNotFoundException >> 클래스 파일이 존재 하지 않아서 발생 하는 예외.
ArithmeticException >> 산술 계산 예외.
(0으로 숫자를 나눌때 발생)
ClassCastException >> 형변환 예외.
NullPointerException >> null 예외.
(참조변수가 null인데, null을 가지고 무엇을 하려고 할 때 발생)
IndexOutOfBoundsException >> 배열 범위 벗어나는 예외.

Exception 클래스를 상속받은 자손의 클래스들은 엄청 많은데,
RuntimeException 클래스와 RuntimeException 클래스를 상속받은 자손 클래스 들과,
RuntimeException 클래스가 아닌 나머지 클래스 들로 구분해서 정리 하려고 한다.
얘네는, Exception 클래스들 이라고 편의상 정리 하겠다.

위와 같이,
RuntimeException 클래스와 상속받은 자손 클래스가 아닌 나머지의 클래스들은,
즉,
Exception 클래스들은,
사용자의 실수와 같은 외적인 요인에 의해 발생 된다.
RuntimeException 클래스들은,
개발자의 실수로 발생 된다.
'Java의 정석 > 예외처리' 카테고리의 다른 글
예외처리 11 ~ 14 - 메서드에 예외 선언 하기, finally 블럭 (0) | 2023.08.27 |
---|---|
예외처리 09 ~ 10 - 예외 발생 시키기, 체크드 / 언체크드 예외 (0) | 2023.08.20 |
예외처리 07 ~ 08 - printStackTrace(), 멀티 catch 블럭 (0) | 2023.08.20 |
예외처리 04 ~ 06 - 예외 처리하기, try-catch 문의 흐름 (0) | 2023.08.20 |
예외처리 01 - 프로그램 오류 (0) | 2023.08.20 |