gpt4 book ai didi

java - 如何合并异常列表?

转载 作者:搜寻专家 更新时间:2023-10-31 19:32:21 25 4
gpt4 key购买 nike

有什么方法可以合并可抛物列表吗?我有一个 ListenableFutures 列表,每个列表都会捕获异常(如果有的话)并将其保存在 Result 实例中。最后,如果 ListenableFutures 的任何结果包含可抛出的,我想抛出异常。问题是如何组合多个 throwable,因为可能有多个 future 失败?

List<ListenableFuture<Result>> futureList = new ArrayList<>();
futureList.add(future1);
futureList.add(future2);
futureList.add(future3);

ListenableFuture<List<Result>> future = futureFutures.successfulAsList(futureList);

return Futures.transform(future, new Function<List<Result>, FinalResult>() {
@Override
public FinalResult apply(List<Result> resultList) {
List<Throwable> throwableList = new ArrayList<>();
for (Result result : resultList) {
if (result.getThrowable() != null) {
throwableList.add(result.getThowable());
}
}

if (!throwableList.isEmpty()) {
// Is there something like below that I can combine a list
// of throwables and throw it?
Throwable.propagateList(throwableList); // ?????????
}
.....
return finalResult;
}
},
MoreExecutors.sameThreadExecutor());

最佳答案

没有异常(exception)意味着“多处出错”,但没有什么能阻止您创建一个。异常只是对象,它们可以有成员,包括像 List<Throwable> getCauses() 这样的东西。 .

关于java - 如何合并异常列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36487956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com