2014-12-15 5 views
1

x millis 이후에 timeoutException을 발생시키고 싶습니다.java에서 예약 된 예외를 트리거하는 방법은 무엇입니까?

이 코드를 시도했지만 run() 메서드에서 try-catch이 필요합니다.

TimerTask timerTask = new TimerTask() { 
     @Override 
     public void run() { 
      throw new TimeoutException("test time: expected:"+expectedTimeMilli); 
     } 
    } ; 
    new Timer().schedule(timerTask, 0L); 

어떻게하면 Java에서 스케줄 된 예외를 트리거 할 수 있습니까?

답변

2

run()에서 java.util.concurrent.TimeoutException을 throw 할 수 없습니다. 검사 된 예외를 throw 할 수 없기 때문에 RuntimeException을 대신 사용하십시오. RuntimeException을 확장하는 자체 TimeoutException을 만들 수 있습니다.

+0

'run() '서명을 선언하지 않고'throw new runtimeException(); –

+0

@EladBenda 런타임 예외가 체크되지 않은 예외입니다. 왜 선언 할 필요가 없다. – sol4me