Skip to content

Latest commit

 

History

History
30 lines (20 loc) · 1.31 KB

77_예외를_무시하지_말라_최락준.md

File metadata and controls

30 lines (20 loc) · 1.31 KB

77 예외를 무시하지 말라.

예외를 무시하는 것

메서드 선언에 예외를 명시하는 이유는, 해당 메서드를 사용할 때 적절한 조치가 필요하기 때문이다.

다음과 같은 코드는 예외의 존재 이유가 사라져 버린다.

try {
  ...
} catch (Exception e) {
}

예외를 무시해야 할 때도 있을까?

예외를 무시할 수 있을 때도 있을 수 있다.
예를 들어 FileInputStream을 닫을 때 발생하는 예외는

  1. 입력 전용 스트림이기 때문에 파일 자체의 상태를 변경하지 않았기 때문에 복구할 필요가 없고,
  2. 스트림을 닫을 때 예외가 발생한다는 것은 이미 읽을 건 다 읽었다는 뜻이기 때문에 예외를 무시할 수 있다.

하지만 같은 예외가 계속 발생한다면 이는 조사해 볼 필요가 있다. 따라서 로그라도 남기는 것이 좋다.
또한 예외를 무시하기로 했다면 이유를 주석으로 남기고 예외 변수의 이름도 ignored로 바꾸도록 하자.

예외를 무시하지 않아야 하는 이유

예외를 무시하고 지나가면 프로그램은 오류를 내재한 채로 작동하게 된다.
그 결과는 예측 할 수 없게 되고 전혀 엉뚱한 곳에서 오작동이 발생할 수 있다.