IT/Programming / / 2023. 4. 26. 13:32

<Effective Java> RULE 57 예외는 예외적 상황에만 사용하라

반응형

예외는 예외적 상황에만사용해야 한다. 평상시 흐름제어에 이용해서는 안된다.

잘 설계된 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도 만들지 말자.

 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유