반응형
예외는 예외적 상황에만사용해야 한다. 평상시 흐름제어에 이용해서는 안된다.
잘 설계된 API는 클라이언트에게 평상시 제어 흐름의 일부로 예외를 사용하도록 강요해서는 안된다.
상태검사 메서드
ㄴ ex) Iterator interface
// for문을 통해 Iterator i의 값을 불러온다.
// hasNext()를 통해 다음 값으로 넘어간다.
for (Iterator<Foo> i = collection.iterator(); i.hasNext();){
Foo foo = i.next();
}...
// while문의 흐름제어로 Exception을 사용하고 있다.
// 이러면 곤란하다.
try{
Iterator<Foo> i = collection.iterator();
while(true){
Foo foo = i.next();
}
} catch(NoSuchElementException e){
}
결론
· 예외는 예외적인 상황에서만 사용하도록 설계된 메카니즘이다.
· 통상적인 흐름에는 사용하지 말고 그렇게 강요하는 API도 만들지 말자.
반응형
'IT > Programming' 카테고리의 다른 글
<Effective Java> RULE 55 신중하게 최적화 하라 (0) | 2023.04.26 |
---|---|
<Effective Java> RULE 56 일반적으로 통용되는 작명 관습을 따르라 (0) | 2023.04.26 |
<Effective Java> RULE 58 복구가능상태에는 점검지정 예외를 사용하고, 프로그래밍 오류에는 실행 지점 예외를 이용하라. (0) | 2023.04.26 |
<Effective Java> RULE 59 불필요한 점검지정 예외 사용은 피하라 (0) | 2023.04.26 |
<Effective Java> RULE 60 표준 예외를 사용하라 (0) | 2023.04.26 |