본문 바로가기
카테고리 없음

[Java] Checked Exception 과 Unchecked Exception 비교

by 신선 나무 2024. 8. 20.

프로그램 실행 중 발생하게 되는 오류 및 예외 상황들에 대한 처리를 하기 위한 것이 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은 프로그래머의 실수나 예상치 못한 상황에 의해 발생할 수 있습니다.

 

반응형