Item74. method가 던지는 모든 예외를 문서화하라.
method가 던지는 검사 예외는 그 method를 올바로 사용하는데 중요한 정보이므로, 각 예외가 발생하는 상황을 자바독의 @throws 태그를 사용하여 정확히 문서화하자.
공통 상위 클래스(ex)Exception,Throwable) 하나로 문서화하는 경우, method 사용자에게 예외에 대처할 수 있는 힌트를 주지 못하며 다른 예외들까지 삼켜버릴 수 있어 API 사용성을 크게 떨어트린다.
비검사 예외도 검사예외처럼 문서화하면 개발자가 해당 오류가 나지 않도록 코딩하게 유도하므로 좋은 습관이다. 다만 비검사 예외는 method 선언의 @throws 목록에 넣지 말아야 한다.
인터페이스 method의 경우 특히 발생 가능한 비검사 예외를 문서화해두는 것이 하위 구현체가 일관되게 동작하도록 하는데 중요하다
한 class에 정의된 많은 method가 같은 이유로 같은 예외를 던진다면 class 레벨에 문서화해두는 방법도 있다.