我正在使用java的Future类来执行任务,但是如果任务完成,方法isDone返回true。完成可能是由于正常终止,异常或取消 - 在所有这些情况下,此方法将返回true。
有没有办法知道它是因为异常还是因为它成功完成而结束了?
答案 0 :(得分:6)
当您调用Future.get()方法时,有4种可能的结果:
答案 1 :(得分:2)
您只需尝试检索值 - get
方法然后抛出异常,或返回值。
答案 2 :(得分:0)
我在我的代码中使用过它,你可以通过使用get()来判断任务是否真正成功完成的唯一方法