概述
您的代码建议您稍后在同一方法中使用异步操作的结果,因此您无论如何都必须处理CompletionException,因此处理它的一种方法是
public void myFunc() throws ServerException {
// Some code
CompletableFuture a = CompletableFuture.supplyAsync(() -> {
try { return someObj.someFunc(); }
catch(ServerException ex) { throw new CompletionException(ex); }
});
// Some code running in parallel to someFunc()
A resultOfA;
try {
resultOfA = a.join();
}
catch(CompletionException ex) {
try {
throw ex.getCause();
}
catch(Error|RuntimeException|ServerException possible) {
throw possible;
}
catch(Throwable impossible) {
throw new AssertionError(impossible);
}
}
// some code using resultOfA
}
除了我们已经包含在CompletionException中的ServerException之外,在调用j
最后
以上就是辛勤春天为你收集整理的java future 异常处理_java – 从CompletableFuture抛出异常的全部内容,希望文章能够帮你解决java future 异常处理_java – 从CompletableFuture抛出异常所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复