item 74) 메서드가 던지는 모든 예외를 문서화하라

검사 예외 문서화

  • 메서드가 던지는 예외는 해당 메서드를 올바르게 사용하는 데에 중요한 정보이다.

  • 검사 예외는 항상 따로따로 선언하고, 각 예외가 발생하는 상황을 @throws 태그로 정확히 문서화 해야 한다.

  • main 메서드를 제외하고는 throws Exception, throws Throwable 처럼 뭉뚱그려 메서드를 선언하는 것은 금지이다!

비검사 예외 문서화

  • public 메서드라면 필요한 전제 조건을 문서화해야 하는데, 그 수단 중 하나로 비검사 예외들을 문서화할 수 있다.

  • 비검사 예외를 문서화하는 것은 인터페이스 메서드에서 특히 중요하다. 인터페이스를 구현한 모든 구현체가 일관되게 동작하도록 해준다.

  • 비검사 예외는 @throws 태그로 문서화할 수 있으며, 메서드 선언의 throws 목록에는 넣지 말 것.

클래스 수준 문서화

  • 클래스 수준의 예외 문서화도 가능하다.

  • 한 클래스에 정의된 많은 메서드가 같은 이유로 같은 예외를 던지면, 클래스 설명에 추가할 수 있다.

Last updated