예외를 잘못 사용한 예

try {
  int i = 0;
  while(true) {
    range[i++].climb();
  }
} catch (ArrayIndexOutOfBoundsException e) {

}

문제점

⇒ 예외는 오직 예외 상황에서만 써야 하며, 절대 일상적인 제어 흐름용으로 사용하지 말자

API 설계에 적용

상태 검사 메서드를 대신할 수 있는 선택지 : 빈 옵셔널, null