Сопоставить исключение в завершаемом будущем с другим типом исключения?

Я использую завершаемые фьючерсы Java 8, и я хотел бы иметь возможность взять исключение, которое бросает будущее, и преобразовать его в другое исключение.

Кажется, что все составные вещи, которые я пробовал, замыкаются, как только возникает исключение.

Например, используя будущее Scala, я могу сделать что-то вроде этого:

scala.concurrent.Future<Object> translatedException = ask.recover(new Recover<Object>() {
            @Override public Object recover(final Throwable failure) throws Throwable {
                if (failure instanceof AskTimeoutException) {
                    throw new ApiException(failure);
                }

                throw failure;
            }
        }, actorSystem.dispatcher());

и я хотел бы иметь возможность имитировать это в будущем составном блоке в Java. Это возможно?

Ответы на вопрос(1)

Ваш ответ на вопрос