Java CompletableFuture已完成,但出现异常

Java CompletableFuture已完成,但出现异常,java,exception-handling,completable-future,Java,Exception Handling,Completable Future,返回已使用给定值完成的CompletedFuture 我们如何构建一个已经异常完成的CompletableFuture 这意味着,我希望future抛出一个异常,而不是返回一个值。与Java 9和更高版本不同,Java 8不为这种情况提供静态工厂方法。可以改用默认构造函数: CompletableFuture<T> future = new CompletableFuture<>(); future.completeExceptionally(exception); C

返回已使用给定值完成的
CompletedFuture

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


这意味着,我希望future抛出一个异常,而不是返回一个值。

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

CompletableFuture<T> future = new CompletableFuture<>();
future.completeExceptionally(exception);
CompletableFuture=newcompletablefuture();
未来。完全例外(例外);

Java 9提供的正是这样做的。

在哪个上下文中需要这样做?我认为在很多情况下,只要抛出异常就可以了(例如,使用Spring
@Async
或使用
thenCompose()
)@Didier我有一个方法可以同步执行快速任务,但返回一个
CompletionStage
。为什么?因为调用方希望在链接异步
CompletionStage
s之前同步验证输入参数,并且需要先决条件验证引发的任何异常才能由
excellective()
处理。