본문 바로가기

카테고리 없음

체크예외 vs 언체크예외

반응형

 

스프링이 제공하는 예외 추상화를 이해하기 위해서는 먼저 자바 기본 예외에 대한 이해가 필요하다.

애플리케이션 로직은 Exception 부터 필요한 예외로 생각하고 잡으면 된다.

체크 예외 : Exception 하위 > 컴파일러가 체크하는 예외 > 처리 안하면 컴파일 오류

언체크 예외 : RuntimeException하위는 언체크 예외 > 컴파일러가 체크 안함 > 런타임 예외

1. 예외 처리 방법은2가지

  • 잡아서 처리하거나 던지거나
  • 잡거나 던질때 그 자식들도 함께 처리된다

2. 체크 예외의 장단점

  • 체크 예외는 예외를 잡아서 처리할 수 없을 때, 예외를 밖으로 던지는 throws 예외를 필수로 선언해야 한다. 안하면 컴파일 오류가 발생
  • 장점: 예외를 누락하지 않도록 컴파일러를 통해 실수를 잡아주는 안전 장치
  • 단점: 하지만 실제로는 모든 체크 예외를 반드시 잡거나 던지도록 처리해야하는 단점
  • 의존관계에 따른 단점도 있음

3. 언체크 예외의 장단점

  • 언체크 예외는 말 그대로 컴파일러가 예외를 체크하지 않는다는 뜻이다.
  • 언체크 예외는 예외를 잡아서 처리할 수 없을 때, 예외를 밖으로 던지는 throws 선언 생략할 수 있다.
  • 장점: 신경쓰고 싶지 않은 언체크 예외를 무시할 수 있다. 예외의 의존관계를 참조하지 않아도 되는 장점이 있다.
  • 단점: 언체크 예외는 개발자가 실수로 예외를 누락할 수 있다.
반응형