finally 블록 내 throw 문을 보고합니다. 의도된 것일 수도 있으나 이러한 throw 문은 trycatch 블록에서 던져진 예외를 숨길 수 있으므로 디버그 프로세스가 복잡해집니다.

예:


  class Fascinating {
    void doTask(Task t) {
      try {
        t.activity();
      } finally {
        if (!t.finish()) {
          throw new IllegalStateException();
        }
      }
    }
  }

예외를 선언하는 메서드에 대한 메서드 호출을 경고하려면, 선언된 예외가 던져질 수 있는 모든 경우에 경고 옵션을 사용하세요.