• 예외를 선언하라는 것은 메소드를 사용할 때 적절한 조치를 취해달라고 말하는 것이다.
  • try-catch 로 감싼 후 아무것도 하지 않으면 무시하는 것이다.
// catch 블록을 비워두면 예외가 무시된다.

try {
    ...
} catch (SomeException e) {
}
  • catch 블록을 비워두면 try-catch를 사용하는 이유가 없다.
  • 하지만 가끔 무시해도 되는 경우도 있다.
    • FileInputStream을 닫을때가 그렇다.
    • 예외를 무시하기로 헀다면 catch 블록 안에 그렇게 결정한 이유를 주석으로 남기고 예외변수 이름도 ignored로 바꾸자.
Future<Integer> f = exec.submit(planarMap::chromaticNumber);

int numColors = 4; // 기본 값, 어떤지도라도 이 값이면 충분하다.
try {
    numColors = f.get(1L, TimeUnit.SECONDS);
} catch (TimeoutException | ExecutionException ignored){
    //기본값을 사용한다(색상 수를 최소화하면 좋지만, 필수는 아니다.)
}

+ Recent posts