반응형
스프링이 제공하는 예외 추상화를 이해하기 위해서는 먼저 자바 기본 예외에 대한 이해가 필요하다.
애플리케이션 로직은 Exception 부터 필요한 예외로 생각하고 잡으면 된다.
체크 예외 : Exception 하위 > 컴파일러가 체크하는 예외 > 처리 안하면 컴파일 오류
언체크 예외 : RuntimeException하위는 언체크 예외 > 컴파일러가 체크 안함 > 런타임 예외
1. 예외 처리 방법은2가지
- 잡아서 처리하거나 던지거나
- 잡거나 던질때 그 자식들도 함께 처리된다
2. 체크 예외의 장단점
- 체크 예외는 예외를 잡아서 처리할 수 없을 때, 예외를 밖으로 던지는 throws 예외를 필수로 선언해야 한다. 안하면 컴파일 오류가 발생
- 장점: 예외를 누락하지 않도록 컴파일러를 통해 실수를 잡아주는 안전 장치
- 단점: 하지만 실제로는 모든 체크 예외를 반드시 잡거나 던지도록 처리해야하는 단점
- 의존관계에 따른 단점도 있음
3. 언체크 예외의 장단점
- 언체크 예외는 말 그대로 컴파일러가 예외를 체크하지 않는다는 뜻이다.
- 언체크 예외는 예외를 잡아서 처리할 수 없을 때, 예외를 밖으로 던지는 throws 선언 생략할 수 있다.
- 장점: 신경쓰고 싶지 않은 언체크 예외를 무시할 수 있다. 예외의 의존관계를 참조하지 않아도 되는 장점이 있다.
- 단점: 언체크 예외는 개발자가 실수로 예외를 누락할 수 있다.
반응형