아이템 69. 예외는 진짜 예외 상황에서만 사용하라.
이펙티브 자바
아이템 69. 예외는 진짜 예외 상황에서만 사용하라.
-
예외는 그 이름이 말해주듯이 진짜 예외 상황에서만 사용하라. 절대로 일상적인 흐름 제어용으로 사용하면 안된다.
-
잘 설계된 API라면 클라이언트가 정상적인 흐름 제어에서 예외를 사용할 일이 없게 해야 한다.
옵셔널, 상태 검사 메서드, 특정값(null) 중 하나를 선택 하는 지침
-
외부 동기화 없이 여러 스레드가 동시에 점근할 수 있거나 외부 요인으로 상태가 변할 수 있다면 옵셔널이나 특정 값을 사용한다. 상태 검사 메서드와 상태 의존적 메서드 호출 사이에 객체의 상태가 변할수 있어서
-
성능이 중요한 상황에서 상태 검사 메서드가 상태 의존적 메서드의 작업 일부를 중복 수행한다면 옵셔널이나 특정 값을 선택한다.
-
다른 모든 경우엔 상태 검사 메서드 방식이 조금더 낫다.