我正在使用ScheduledExecutorService.scheduleAtFixedRate(taskA....)
来完成某项任务。
当taskA抛出一个无法处理的异常时,我希望整个过程失败。但是,taskA
必须为runnable
,其方法run()
的签名不会抛出任何已检查的异常。
有人知道怎么做吗?
答案 0 :(得分:2)
您的问题的解决方案是使用自Java 5.0以来可用的Callable
接口
Callable
的工作方式与Runnable
类似,但它允许您返回一个值,并从子线程中抛出Exception
。
http://docs.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/Callable.html