지침
- 검사 예외는 항상 따로따로 선언하고, 각 예외가 발생하는 상황을 자바독의
@throws
태그를 사용하여 정확히 문서화하자 - 공통 상위 클래스 하나로 뭉뚱그려 선언하는 일은 삼가자. 극단적인 예로 메서드가 Exception이나 Throwable을 던진다고 선언해서는 안됨 ⇒ 예외에 대처할 수 있는 힌트 못줌, 같은 맥락에서 발생할 여지가 있는 다른 예외들까지 삼켜버릴 수 있어 API 사용성을 크게 떨어뜨림
- 자바 언어가 요구하는 것은 아니지만 비검사 예외도 검사 예외처럼 정성껏 문서화해두면 좋다.
- 비검사 예외는 일반적으로 프로그래밍 오류를 뜻하는데, 자신이 일으킬 수 있는 오류들이 무엇인지 알려주면 프로그래머는 자연스럽게 해당 오류가 나지 않도록 코딩하게 됨
- 잘 정비된 비검사 예외 문서는 사실상 그 메서드를 성공적으로 수행하기 위한 전제조건이 됨
- public 메서드라면 필요한 전제조건을 문서화해야 하며, 그 수단으로 가장 좋은것이 비검사 예외들을 문서화하는 것
- 발생 가능한