可更新未来已完成,但有一个例外

CompletableFuture.completeFuture() 返回一个已经使用给定值完成的。CompletedFuture

我们如何构建一个已经异常完成的?CompletableFuture

这意味着,我希望将来不会返回值,而是引发异常。


答案 1

与 Java 9 及更高版本不同,Java 8 不为此方案提供静态工厂方法。可以改用默认构造函数:

CompletableFuture<T> future = new CompletableFuture<>();
future.completeExceptionally(exception);

答案 2

Java 9 提供了 CompletableFuture.failedFuture(Throwable ex)来做到这一点。


推荐