Jayanth:
Existe alguma maneira eu posso obter exceção original que é lançada quando a execução da tarefa falha com uma exceção? Looks como CompletableFuture.join sempre lança CompletionException em caso de falhas.
Nossa exceção original contém atributos adicionais (variáveis membro) que têm de ser utilizado na manipulação de exceções em um bom caminho.
Mark Peters:
De docs :
Para uma melhor conformidade com a utilização de formas funcionais comuns, se um cálculo envolvido na realização do presente CompletableFuture emitiu uma excepção, este método gera uma CompletionException (não assinalada) com a excepção subjacente, tal como a sua causa .
Em outras palavras,
Exception original = completableException.getCause();