В этом коде:
doSomethingThatMightThrowAnException()
.whenComplete((result, ex) -> doSomethingElse()})
.exceptionally(ex -> handleException(ex));
Если существует исключение из doSomethingThatMightThrowAnException, выполняются как doSomethingElse, так и handleException, или это исключение, потребляемое либо whenComplete, либо exceptionally?
EDIT:
doSomethingThatMightThrowAnException возвращает a CompletableFuture, который может completeExceptionally. Это исключение, о котором я говорю.