본문 바로가기

강의 내용 정리/Spring DB 1

5-3. 체크 예외 기본 이해

# 체크예외

 

 

- Exception과 그 하위예외는 모두 컴파일러가 체크하는 체크예외이다. 단 RuntimeException은 예외로한다.
- 체크예외는 잡아서 처리하거나, 또는 밖으로 던지도록 선언해야 한다. 그렇지 않으면 컴파일 오류가 발생한다.

 

 

 

 

내가 만든 MyCheckedException 은 체크예외이므로 call() 메서드에서 throw 시 받거나 밖으로 던져야한다.

 

따라서 아무 조치도 취하지 않으면 다음과 같이 컴파일오류가 난다.

 

 

 

 

 

Repository 에서 던진 체크예외를 Service에서 잡아주는 모습이다.

( 추가로, Slf4j 로 예외 로그 찍을때 마지막 파라미터로 예외를 넘겨주면 찍힌다. )

 

 

@Test 가 성공한다.

 

 

 

 

 

@Test 가 성공한다.

 

 

 

 

 

 

 

 

 

# 체크 예외의 장단점


체크예외는 예외를 잡아서 처리할 수 없을 때, 예외를 밖으로 던지는 throws 예외를 필수로 선언해야 한다. 그렇지 않으면 컴파일 오류가 발생

 

 

장점 : 개발자가 실수로 예외를 누락하지 않도록 컴파일오류를 발생시킨다. ( 최고의 오류 )

 

단점 : 개발자가 모든체크 예외를 반드시 잡거나 던지도록 처리해야 하기 때문에, 너무 번거로운일이 된다. 크게 신경쓰고 싶지 않은 예외까지 모두 챙겨야한다. 추가로 의존관계에 따른 단점도 있다.

 

 

 

 

 

꾸준히 다시보자.

 

1. 221014

2. 221101

'강의 내용 정리 > Spring DB 1' 카테고리의 다른 글

5-5. 체크 예외 활용  (0) 2022.10.14
5-4. 언체크 예외 기본 이해  (0) 2022.10.10
5-2. 예외 기본 규칙  (0) 2022.10.10
5-1. 자바 예외 이해  (0) 2022.10.10
4-10. 스프링 부트의 자동 리소스 등록  (0) 2022.10.10
Recent Posts
Popular Posts
Recent Comments