본문 바로가기

Java

Exception 의 종류

예외 클래스 (Checked Exception vs Unchecked Exception)

Trowable을 상속받는 클래스는 Error와 Exception이 있다.

  • Error는 시스템 레벨의 심각한 수준의 에러이기 때문에 시스템에 변화를 주어 문제를 처리해야 하는 경우가 일반적이다.
  • Exception은 개발자가 로직을 추가하여 처리할 수 있다.

Exception은 RuntimeException 과 같은 수많은 자식클래스를 가지고 있다.

  • RuntimeException은 CheckedException과 UncheckedException을 구분하는 기준이다.
  • Exception의 자식 클래스 중 RuntimeException을 제외한 모든 클래스는 CheckedException이며, RuntimeException과 그의 자식 클래스들을 Unchecked Exception이라 부른다. CheckedException과 UncheckedException에 대해 더 자세히 살펴보자.

Checked Exception과 Unchecked(Runtime) Exception 처리

Checked Exception과 Unchecked Exception의 가장 명확한 구분 기준은 ‘꼭 처리를 해야 하느냐’이다.

  • Checked Exception이 발생할 가능성이 있는 메소드라면 반드시 로직을 try/catch로 감싸거나 throw로 던져서 처리해야 한다.
  • Unchecked Exception은 명시적인 예외처리를 하지 않아도 된다. 이 예외는 피할 수 있지만 개발자가 부주의해서 발생하는 경우가 대부분이고, 미리 예측하지 못했던 상황에서 발생하는 예외가 아니기 때문에 굳이 로직으로 처리를 할 필요가 없도록 만들어져 있다.

'Java' 카테고리의 다른 글

인터페이스  (0) 2022.12.01
JVM (1)  (0) 2022.11.30
객체지향 - Tier Architecture  (0) 2022.11.22
객체지향 - SOLID  (0) 2022.11.21
객체지향 캡슐화  (0) 2022.11.18