지금까지 살펴본 예외의 종류와 처리방법 등을 기준으로 일관된 예외 처리 전략을 정리해보자
체크 예외는 복구할 가능성이 조금이라도 있는 상황이기 때문에 catch
블록이나 throws
선언을 강제한다.
통제 불가능한 시스템 예외라 해도 애플리케이션 작업이 중단되지 않게 하고 상황 복구
ex. 워드 파일 열기 기능
하나의 요청 처리 중 예외 발생 시 해당 작업만 중지
(독립형 애플리케이션과 달리) 서버의 특정 계층 예외 발생 시 작업 일시 중지
- 사용자와 커뮤니케이션하며 예외 상황 복구 불가
RuntimeException
으로 포장해서 던지기add()
메서드의 예외처리add()
가 던지는 체크 예외: DuplicatedUserIdException
, SQLException
SQLException
DuplicatedUserIdException
로 전환하여 의미를 명확하게add()
메서드를 사용하는 쪽에서 잡아서 대응할 수 있도록