아이템 77. 예외를 무시하지 말라

wisdom·2023년 3월 11일
0

Effetctive Java

목록 보기
77/80
post-thumbnail

API 설계자가 메서드 선언에 예외를 명시하는 까닭은, 그 메서드를 사용할 때 적절한 조치를 취해달라고 말하는 것이다. API 설계자의 목소리를 흘려버리지 말자.

물론 예외를 무시해야 할 때도 있다. 예를 들어 FileInputStream 을 닫을 때가 그렇다. 파일의 상태를 변경하지 않았으니 복구할 것이 없고, 필요한 정보는 이미 다 읽었기 때문에 남은 작업을 중단할 이유도 없다.

예외를 무시하기로 했다면 catch 블록 안에 그렇게 결정한 이유를 주석으로 남기고 예외 변수의 이름도 ignored 로 바꿔놓도록 하자.

Future<Integer> f = exec.submit(planarMap::chroaticNumber);
int numColors = 4;
try {
	numColors = f.get(1L, TimeUnit.SECONDS);
} catch (TimeoutExeption | ExecutionException ignored) {
	// 기본값을 사용한다.
}
profile
백엔드 개발자

0개의 댓글