runnable.run()不能抛出异常

时间:2012-06-14 01:54:11

标签: java exception runnable

我正在使用ScheduledExecutorService.scheduleAtFixedRate(taskA....)来完成某项任务。

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

有人知道怎么做吗?

1 个答案:

答案 0 :(得分:2)

您的问题的解决方案是使用自Java 5.0以来可用的Callable接口

Callable的工作方式与Runnable类似,但它允许您返回一个值,并从子线程中抛出Exception

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