728x90
정리
- 예외를 잡아서 아무런 조취를 취하지 않거나 의미 없는 throws 선언을 남발하는 것은 위험.
- 예외는 복구하거나 예외처리 오브젝트로 의도적으로 전달하거나 적절한 예외로 전환
- 좀 더 의미 있는 예외로 변경하거나, 불필요한 catch/throws를 피하기 위해 런타임 예외로 포장하는 두 가지 방법의 예외 전환
- 복구 할 수 없는 예외는 가능한 빨리 런타임 예외로 전환하는것이 바람직
- 애플리케이션의 로직을 담기 위한 예외는 체크 예외로 만듬
- JDBC의 SQLException은 대부분 복구 할 수 없는 예외이므로 런타임 예외로 포장해야함
- SQLException의 에러코드는 DB에 종속되기 때문에 DB에 독립적인 예외로 전환될 필요가 있음
- 스프링은 DataAccessException을 통해 DB에 독립적으로 적용 가능한 추상화된 런타임 예외계층을 제공
- DAO를 데이터 액세스 기술에서 독립시키려면 인터페이스 도입과 런타임 예외 전환, 기술에 독립적인 추상화된 예외로 전환이 필요.
출처 : 토비의 스프링 vol.1
728x90
'JAVA' 카테고리의 다른 글
[Java] Spring Repository 생성시 final 붙이는 이유 (0) | 2021.07.28 |
---|---|
[Java]Cannot create PoolableConnectionFactory (0) | 2021.07.27 |
[Spring] 스프링 핵심 원리 - 기본편(1) (0) | 2021.07.13 |
[Spring] 3장 템플릿 (0) | 2021.06.24 |
[Spring] 2장 테스트 (0) | 2021.06.14 |