我有以下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
中的异常。