[Java] Checked Exception UnChecked Exception

exception

예외는 두 종류로 분류된다. checked exception과 unchecked exception이다. 주로 checked는 복구 가능한 예외에 해당되는데 IOException나 FileNotFoundException 같은 예외 클래스가 그렇다. 사용자가 찾으려는 파일이 없다면 이를 알리고 다른 파일을 찾도록 유도하게 사용할 수 있다. 컴파일 타임에 검사가 되며 사용자가 충분히 복구 가능한 예외일 경우 checked exception을 사용한다.

unchecked는 복구 불가능한 예외에 해당된다. RuntimeException을 상속받은 예외 클래스들이 이에 해당되며 주로 코드의 오류에 영향을 받아 발생된다. 런타임에 검사가 되며 프로그램이 실행되는동안 합리적으로 복구될 수 없는 예외가 이에 해당된다. unchecked exception이 처리되지 않으면 이를 처리하는 스레드는 중지된다.

1
2
3
4
5
6
public class main {
public static void main(String[] args) {
int[] arr = new int[1];
System.out.println(arr[100]); //Runtime Exception
}
}
구분 Checked Exception Unchecked Exception
확인 시점 컴파일 시점 런타임 시점
처리 여부 반드시 예외 처리가 필요하다. 명시적으로 하지 않아도 된다.
Author: Song Hayoung
Link: https://songhayoung.github.io/2020/08/22/Languages/Java/checkedexceptionuncheckedexception/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.