我有以下Callable:

public class Worker implements Callable<Boolean>{

   @Override
   public Boolean call(){
      boolean success=true;

      //do Something
     return success;
   }

}

现在我执行它:
Worker worker - new Worker();
Future<Boolean> submit = executor.submit(worker);

我将提交存储在某种hashMap中,以便在代码中的某处执行某些操作。

我怎么知道worker.call()函数中是否发生了任何异常?

如果发生某种异常,submit.isCancelled()会返回true,如果一切正常,则返回false吗?

最佳答案

当您调用 Future.get() 时,它将引发包裹在 ExecutionException 中的异常。

09-27 00:42
查看更多