Skip to content

Latest commit

 

History

History
33 lines (20 loc) · 1.23 KB

File metadata and controls

33 lines (20 loc) · 1.23 KB

Item 77. 예외를 무시하지 말라

예외를 무시하지 말자. API 설계자가 메서드 선언에 예외를 명시하는 이유는 그 메서드를 사용할 때 적절한 조치가 필요하기 때문이다.

// catch 블록을 비워 예외를 무시하는 경우
try {

} catch (SomeException e) {

}

예외는 문제 상황 대처를 위해 존재하는데, catch 블록을 비워두면 예외가 존재할 이유가 없어진다. 간혹, 프로그래밍 초보일 때 예외 처리가 불편하고 짜증나서 위와 같은 코드를 작성하는 경우가 있는데 절대 이렇게 코딩하지 않도록 하자. (^.^)

예외를 무시해도 되는 경우

  • FileInputStream 을 닫을 때, 예외를 무시할 수 있다. (입력 전용 스트림이므로)
  • 파일 상태를 변경하지 않으니 복구할 것이 없고, 스트림을 닫는다는 것은 정보를 다 읽었다는 의미이기 때문이다.

만약, 예외를 무시하기로 했다면 catch 블록 안에 이유를 주석으로 남기고, 예외 변수 이름을 ignored 로 명시하자.

try {
    // ... 내용
} catch(TimeoutException | ExecutionException ignored){
    // ... 예외를 무시하는 이유 명시하기
}