아이템 69. 예외는 진짜 예외 상황에서만 사용하라.

이펙티브 자바

아이템 69. 예외는 진짜 예외 상황에서만 사용하라.

  • 예외는 그 이름이 말해주듯이 진짜 예외 상황에서만 사용하라. 절대로 일상적인 흐름 제어용으로 사용하면 안된다.

  • 잘 설계된 API라면 클라이언트가 정상적인 흐름 제어에서 예외를 사용할 일이 없게 해야 한다.

옵셔널, 상태 검사 메서드, 특정값(null) 중 하나를 선택 하는 지침

  1. 외부 동기화 없이 여러 스레드가 동시에 점근할 수 있거나 외부 요인으로 상태가 변할 수 있다면 옵셔널이나 특정 값을 사용한다. 상태 검사 메서드와 상태 의존적 메서드 호출 사이에 객체의 상태가 변할수 있어서

  2. 성능이 중요한 상황에서 상태 검사 메서드가 상태 의존적 메서드의 작업 일부를 중복 수행한다면 옵셔널이나 특정 값을 선택한다.

  3. 다른 모든 경우엔 상태 검사 메서드 방식이 조금더 낫다.

참조