본문 바로가기

Spring/토비의 스프링 3.1

4.3 정리



  • 예외를 잡아서 아무러 조치를 하지 않거나 의미 없는 throws 선언을 남발하는 것은 무책임하다.
  • 예외는 복구하거나 예외처리 오브젝트로 의도적으로 전달하거나 적절한 예외로 전환해야 한다.
  • 좀 더 의미있는 예외로 변경하거나, 불필요한 예외 처리를 피하기 위해 런타임 예외로 포장하는 두 가지의 방법의 예외 전환이 있다.
  • 복구할 수 없는 예외는 가능한 빨리 런타임 예외로 전환하는 것이 바람직하다.
  • 애플리케이션의 로직을 담기 위한 예외는 체크 예외로 만든다.
  • JDBC의 SQLException은 대부분 복구할 수 없는 예외이므로 런타임 예외로 포장해야 한다.
  • SQLException의 에러 코드는 DB에 종속되기 때문에 DB에 독립적인 예외로 전환될 필요가 있다.
  • 스프링은 DataAccessException을 통해 DB에 독립적으로 적용 가능한 추상화된 런타임 예외 계층을 제공한다.
  • DAO를 데이터 액세스 기술에 독립시키려면 인터페이스 도입과 런타임 예외 전환, 기술에 독립적인 추상화된 예외로 전환이 필요하다.

' Spring > 토비의 스프링 3.1' 카테고리의 다른 글

5.1 사용자 레벨 관리 기능 추가  (0) 2019.02.06
5장. 서비스 추상화  (0) 2019.02.06
4.1 사라진 SQLException  (0) 2019.01.25
4장. 예외  (0) 2019.01.25
3.7 정리  (0) 2019.01.23