item 77) 예외를 무시하지 말라

예외를 무시할 경우

  • 다음은 catch 블록에서 아무 일도 하지 않아 예외를 무시하는 경우이다.

try {
    ...
} catch (SomeException e) {
}
  • 예외를 무시하지 않고 바깥으로 전파되게만 놔둬도 최소한 디버깅 정보를 남긴 채 프로그램이 신속하게 중단되게 할 수 있다.

어쩔 수 없이 예외를 무시해야 할 때

  • 예를 들어 FileInputStream의 close() 같은 경우 파일의 상태를 변경하지도 않고 필요한 정보는 이미 다 읽었다는 뜻이므로 복구하거나 남은 작업을 중단할 이유가 없다.

  • 예외를 무시하기로 했다면 1) catch 블록 안에 그러한 이유를 주석으로 남기고, 2) 예외가 발생했다는 사실을 로그로 남기고, 3) 예외 변수의 이름도 ignored로 바꿔두자.

Last updated