我想将测试中的某个块限制为 1 秒。
我试过这个:
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
throw new TimeoutException("test time: expected:"+expectedTimeMilli);
}
} ;
new Timer().schedule(timerTask, 1L);
但顺从者要求用 try-catch 包裹run()
身体。
我想抛出这个异常来被抓到main()
冰毒中(并返回结果代码 3)
我该怎么做?
与其抛出 TimeoutException,不如让它抛出你自己的 Exception 来扩展 RuntimeException。
请注意,这将杀死您的计时器线程。如果这是一个问题,请使用 ScheduledExecutorService