I have the following Callable:
public class Worker implements Callable<Boolean>{
@Override
public Boolean call(){
boolean success=true;
//do Something
return success;
}
}
Now I'm executing it:
Worker worker - new Worker();
Future<Boolean> submit = executor.submit(worker);
I'm storing the submit in kind of hashMap for some operation to be performed somewhere in code.
How can I know if any exception has occured in worker.call()
function?
Will submit.isCancelled()
return true if some sort of Exception occurred and false if everything works ok?
When you call Future.get()
it will throw your exception wrapped in a ExecutionException
.
As stated in the documentation, Future<V>
will re-throw the exception that occurred during .call()
(though wrapped in an ExecutionException
), and isCancelled()
would still be false in this case.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With