【发布时间】:2011-10-03 19:45:01
【问题描述】:
我正在使用 java 的 Future 类来执行任务,但是如果任务完成,方法 isDone 返回 true。完成可能是由于正常终止、异常或取消——在所有这些情况下,此方法都将返回 true。
有没有办法知道它是因为异常还是因为成功完成而结束?
【问题讨论】:
我正在使用 java 的 Future 类来执行任务,但是如果任务完成,方法 isDone 返回 true。完成可能是由于正常终止、异常或取消——在所有这些情况下,此方法都将返回 true。
有没有办法知道它是因为异常还是因为成功完成而结束?
【问题讨论】:
您可以简单地尝试检索该值 - get 方法然后要么抛出异常,要么返回该值。
【讨论】:
当你调用 Future.get() 方法时,有 4 种可能的结果:
【讨论】:
我已经在我的代码中使用了它,你可以确定任务是否真的成功完成的唯一方法是使用 get()
【讨论】: