exception
예외는 두 종류로 분류된다. checked exception과 unchecked exception이다. 주로 checked는 복구 가능한 예외에 해당되는데 IOException나 FileNotFoundException 같은 예외 클래스가 그렇다. 사용자가 찾으려는 파일이 없다면 이를 알리고 다른 파일을 찾도록 유도하게 사용할 수 있다. 컴파일 타임에 검사가 되며 사용자가 충분히 복구 가능한 예외일 경우 checked exception을 사용한다.
unchecked는 복구 불가능한 예외에 해당된다. RuntimeException을 상속받은 예외 클래스들이 이에 해당되며 주로 코드의 오류에 영향을 받아 발생된다. 런타임에 검사가 되며 프로그램이 실행되는동안 합리적으로 복구될 수 없는 예외가 이에 해당된다. unchecked exception이 처리되지 않으면 이를 처리하는 스레드는 중지된다.
1 | public class main { |
구분 | Checked Exception | Unchecked Exception |
---|---|---|
확인 시점 | 컴파일 시점 | 런타임 시점 |
처리 여부 | 반드시 예외 처리가 필요하다. | 명시적으로 하지 않아도 된다. |