프로그램 실행 중 발생하게 되는 오류 및 예외 상황들에 대한 처리를 하기 위한 것이 Exception 이며 Java 에서는 크게 두 가지 종류의 Exception 으로 구분할 수 있는데 Checked Exception과 Unckecked Exception 이다.
Checked Exception 의 특징
- RuntimeException을 상속하지 않는 클래스
- Checked Exception은 컴파일러가 예외 처리를 강제하는 예외입니다.
- 메서드 선언부에 throws 절을 사용하여 예외를 선언해야 합니다.
- 메서드를 호출하는 곳에서 try-catch 블록을 사용하거나 throws 절을 사용하여 예외를 처리해야 합니다.
- 대표적인 예로는 IOException, SQLException, ClassNotFoundException 등이 있습니다.
- Checked Exception은 프로그래머가 예외 상황을 인지하고 적절히 처리해야 합니다.
Unchecked Exception 의 특징
- RuntimeException을 상속하는 클래스
- Unchecked Exception은 컴파일러가 예외 처리를 강제하지 않는 예외입니다.
- Runtime 단계에서 확인 가능
- 메서드 선언부에 throws 절을 사용하지 않아도 됩니다.
- 메서드를 호출하는 곳에서 try-catch 블록을 사용하지 않아도 됩니다.
- 대표적인 예로는 NullPointerException, ArrayIndexOutOfBoundsException, IllegalArgumentException 등이 있습니다.
- Unchecked Exception은 프로그래머의 실수나 예상치 못한 상황에 의해 발생할 수 있습니다.
정리
- Checked Exception은 컴파일러가 예외 처리를 강제하지만, Unchecked Exception은 그렇지 않습니다.
- Checked Exception은 메서드 선언부에 throws 절을 사용해야 하지만, Unchecked Exception은 그렇지 않습니다.
- Checked Exception은 반드시 try-catch 블록으로 예외를 처리해야 하지만, Unchecked Exception은 그렇지 않습니다.
Checked Exception은 프로그래머가 예외 상황을 인지하고 적절히 처리해야 하는 반면, Unchecked Exception은 프로그래머의 실수나 예상치 못한 상황에 의해 발생할 수 있습니다.
반응형