에러 핸들링 모으기
에러 핸들링을 모을 수 있으면 한곳으로 모읍니다. 보통 같은 수준의 로직을 처리한다면 한 곳으로 모아서 처리하는 게 더 에러를 포착하기 쉽습니다.
사용에 맞게 Exception 클래스를 선언하라
- 참조
- Exception class를 만드는 데에서 가장 중요한 것은 "어떤 방식으로 예외를 잡을까"이다.
- 써드파티 라이브러리를 사용하는 경우 그것들을 wrapping함으로써
- 라이브러리 교체 등의 변경이 있는 경우 대응하기 쉬워진다.
- 라이브러리를 쓰는 곳을 테스트할 경우 해당 라이브러리를 가짜로 만들거나 함으로써 테스트하기 쉬워진다.
- 라이브러리의 api 디자인에 종속적이지 않고 내 입맛에 맞는 디자인을 적용할 수 있다.
- 보통 특정 부분의 코드에는 exception 하나로 충분히 예외처리 할 수 있다.
- 한 exception만 잡고 나머지 하나는 다시 throw하는 경우 등 정말 필요한 경우에만 다른 exception 클래스를 만들어 사용하자.
- 예시: 외부 api의 클래스인 ACMEPort 클래스를 사용하는 상황을 살펴보자.
- AS-IS
- TO-BE
참고
[Java] Error의 종류 - Checked Error vs. Unchecked Error
[디자인패턴] Special Case Pattern