메서드가 발생시키는 예외는 해당 메서드를 올바르게 사용하는 데 매우 중요한 정보이므로 각 메서드가 발생시키는 예외를 하나씩 문서화하는 것이 필요합니다. Checked Exception은 항상 별도로 선언하고, 각 예외가 발생하는 상황을 JavaDoc의 @throws 태그로 문서화하라 공통 상위 예외 클래스 하나로 뭉뚱그려 선언하는 일은 지양해야 함 메서드 사용자에게 각 예외에 대처할 수 있는 힌트를 주지 못할 뿐만 아니라 같은 맥락에서 발생할 여지가 있는 다른 예외들까지 삼켜버릴 수 있어 API 사용성을 떨어뜨림 ex) Exception이나 Throwable을 throw 한다고 선언해서는 안됨 예외 케이스: main 메서드는 JVM만이 호출하므로 Exception으로 묶어서 던지도록 선언해도 괜찮음 1...