gpt4 book ai didi

java - 我应该如何在 Java 中结合可完成的 future 和 try/catch?

转载 作者:行者123 更新时间:2023-11-30 07:41:24 24 4
gpt4 key购买 nike

我有一个方法结合了其他两种方法的结果,一种是同步的,如果出现问题会抛出异常,另一种会返回一个可完成的 future ,如果出现问题,它会以异常完成。我希望我的方法的使用者不必处理在两个不同的地方捕获同步和异步异常,是否有一种合适的方法可以将它们组合成一个异常输出?

最佳答案

如果您希望您的外部方法返回一个CompletableFuture,那么通常最好它总是返回一个CompletableFuture——没有抛出和没有空值。

这样一来,调用者只需通过一条路径处理异常或空值。

当外部方法进行同步调用时,确保它在 try block 中,捕获任何异常并为其返回异常完成的 CompletableFuture

如果您使用的是 java 9 或更高版本,则可以使用 CompletableFuture.failedFuture 使错误发生在未来。否则,您可能应该创建一个辅助方法来创建一个新的 future 并立即对其调用 completeExceptionally

关于java - 我应该如何在 Java 中结合可完成的 future 和 try/catch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56046159/

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