finally 블록 내 throw 문을 보고합니다.
의도된 것일 수도 있으나 이러한 throw 문은 try 및 catch 블록에서 던져진 예외를 숨길 수 있으므로 디버그 프로세스가 복잡해집니다.
예:
class Fascinating {
void doTask(Task t) {
try {
t.activity();
} finally {
if (!t.finish()) {
throw new IllegalStateException();
}
}
}
}
예외를 선언하는 메서드에 대한 메서드 호출을 경고하려면, 선언된 예외가 던져질 수 있는 모든 경우에 경고 옵션을 사용하세요.