runnable.run() 不能抛出异常



我正在使用ScheduledExecutorService.scheduleAtFixedRate(taskA....)来执行一些任务。

我希望当任务 A 抛出未处理异常时整个过程失败。但是,taskA必须runnable及其方法,run() 的签名不会引发任何检查异常。

有人知道如何制作这个吗?

问题的解决方案是使用 Callable 接口,该接口自 Java 5.0 起可用

Callable的工作方式就像 Runnable 一样,但它允许您返回一个值,以及从子线程中抛出一个Exception

http://docs.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/Callable.html

最新更新