Growth-Collectors / effective-java

repository for effective java study
3 stars 2 forks source link

아이템 74. 메서드가 던지는 모든 예외를 문서화하라 #74

Open HanaHww2 opened 1 year ago

jioome commented 1 year ago

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

메서드가 던지는 예외는 중요한 정보다 따라서 예외를 문서화 하는 것이 중요하다.

검사 예외는 따로따로 선언하자

잘못된 방법

// 잘못 선언한 예
public void testMethod() throws Exception {

}

// or

public void testMethod() throws Throwable {

}

올바른 방법

/**
 * @throws IllegalStateException
 */
public void testMethod(String parameter) throws IllegalStateException {

}

비검사 예외도 문서화 하자

비검사 예외는 일반적으로 프로그래밍 오류를 뜻하므로, 무언인지 알려주면 프로그래머는 해당 오류가 나지 않도록 코딩할 수 있다.

public 메서드라면 비검사 예외를 문서화하자

비검사 예외는 메서드 선언의 throws 목록에 넣지 않는다

한 클래스의 많은 메서드가 같은 이유로 같은 예외를 던진다면

요약

jioome commented 1 year ago

예외를 문서화 할 때 기준이 헷갈렸는데 검사, 비검사 예외에 따라 다르게 문서화 하는 거 였군요

YunDaHyee commented 1 year ago

보통 비검사 예외에 대해서 히스토리를 모르면 난처한 경우가 많은데 문서화가 역시 중요함을 느꼈습니다