반응형
이 포스팅에서 작성하는 내용은 EFFECTIVE JAVA(이펙티브자바) 에서 발췌하였습니다.
아이템 77. 예외를 무시하지 말라
- API 설계자가 메서드 선언에 예외를 명시하는 까닭은 그 메서드를 사용할 때 적절한 조치를 취해달라고 말하는 것이다.
- 예외를 무시하기는 아주 쉽다. 예로 메서드 호출을 try 문으로 감싼 후 catch 블록에서 아무 일도 하지 않는 경우이다.
- 예외는 문제 상황에 잘 대처하기 위해 존재하는데 catch 블록을 비워두면 예외가 존재할 이유가 없어진다.
- 이 내용은 검사와 비검사 예외에 똑같이 적용된다.
- 만약, 예외를 무시하기로 결정했다면 catch 블록 안에 그렇게 결정안 이유를 주석으로 남기고 예외 변수의 이름도 ignored로 바꿔두자.
ex 1) 예외를 무시하는 예
Future<Integer> f = exec.submit(planarMap::chromaticNumber);
int numColors = 4; // 기본값. 어떤 지도라도 이 값이면 충분하다.
try {
numColors = f.get(1L, TimeUnit.SECONDS);
} catch (TimeoutException | ExecutionException ignored) {
// 기본값을 사용한다 (색상 수를 최소화하면 좋지만, 필수는 아니다).
}
반응형
'BE > Java' 카테고리의 다른 글
[Effective Java] 아이템 79. 과도한 동기화는 피하라 (0) | 2022.12.20 |
---|---|
[Effective Java] 아이템 78. 공유 중인 가변 데이터는 동기화해 사용하라 (0) | 2022.12.19 |
[Effective Java] 아이템 76. 가능한 한 실패 원자적으로 만들라 (0) | 2022.12.16 |
[Effective Java] 아이템 75. 예외의 상세 메시지에 실패 관련 정보를 담으라 (0) | 2022.12.15 |
[Effective Java] 아이템 74. 메서드가 던지는 모든 예외를 문서화하라 (0) | 2022.12.14 |