CompletedFuture уже завершен с исключением

CompletableFuture.completedFuture() возвращает CompletedFuture, который уже заполнен заданным значением.

Как мы можем построить CompletableFuture, который уже выполнен исключительно?

То есть, вместо того, чтобы возвращать значение, я хочу, чтобы будущее генерировало исключение.

Ответ 1

В отличие от Java 9 и более поздних версий, Java 8 не предоставляет статический метод фабрики для этого сценария. Вместо этого можно использовать конструктор по умолчанию:

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