Clean Code that Works.

1. 예외는 예외상황에서만 써야 한다.

2. 처리해야 하는 예외와 런타임 예외를 구분해서 던져라

3. 처리해야 하는 예외는 꼭 필요할 때만 던져라

4. 표준 예외를 써라

5. 예외를 적절하게 추상화하라

6. 메소드가 던지는 모든 예외를 명세문서에 기술하라

7. 실패에 대한 자세한 정보를 상세 메시지 문자열에 담아라

8. 실패의 원자성을 얻기 위해 노력하라

9. 예외를 잡아서 버리지 마라