> For the complete documentation index, see [llms.txt](https://develop-footprint.gitbook.io/o/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://develop-footprint.gitbook.io/o/java/effective-java/10/item-77.md).

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

## 예외를 무시할 경우

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

```java
try {
    ...
} catch (SomeException e) {
}
```

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

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

* 예를 들어 FileInputStream의 close() 같은 경우 파일의 상태를 변경하지도 않고 필요한 정보는 이미 다 읽었다는 뜻이므로 복구하거나 남은 작업을 중단할 이유가 없다.
* 예외를 무시하기로 했다면 1) catch 블록 안에 그러한 이유를 주석으로 남기고, 2) 예외가 발생했다는 사실을 로그로 남기고, 3) 예외 변수의 이름도 ignored로 바꿔두자.
