[Effective Java] 예외를 무시하지 말라

들어가며

예외를 무시하기는 아주 쉽다. 다음과 같이 하면 된다.

1
2
3
try {
...
} catch (SomeException e) {}

하지만 절대 좋은 방법이 아니다. 예외는 문제 상황에 대처하기 위해 존재하는데 catch 블록을 비워두면 예외가 존재할 이유가 없어진다.

물론 예외를 무시해야할 상황도 있다. 예를 들어 FileInputStream을 닫을 때가 그렇다. 필요한 정보는 이미 다 읽었고 파일의 상태를 변경하지 않았으니 남은 작업을 중단할 이유도 없다. 하지만 같은 예외가 자주 발생한다면 조사해보는 것이 좋으니 로그로 남겨두는 편이 좋다.

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

1
2
3
4
5
try {
...
} catch (SomeException ignored) {
// blah blah
}
Author: Song Hayoung
Link: https://songhayoung.github.io/2020/08/22/Languages/Effective%20JAVA/item77/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.