복구하기 어려울때는 RuntimeException 을 발생시키는게 속 편하다.
단점: 예외가 발생한 이유를 알려주는 부가 정보를 담기 어려움
try {
obj.action(args);
} catch (CheckedException e) {
handleException(e); // 예외 상황에 대처한다.
}
if (obj.actionPermitted(args)) {
obj.action(args);
} else {
handleException(); // 예외 상황에 대처한다.
}
그렇다면??
무식하게 아래처럼 해도 괜찮다. 어차피 실패 시 스레드가 중단되기 때문이다.