Как получить оригинальное исключение из CompletableFuture.join ()? - PullRequest
1 голос
/ 14 марта 2020

Можно ли как-нибудь получить оригинальное исключение, которое выдается при сбое выполнения задачи с исключением? Похоже, CompletableFuture.join всегда выдает исключение CompletionException в случае сбоев.

Наше исходное исключение содержит дополнительные атрибуты (переменные-члены), которые должны использоваться для правильной обработки исключений.

1 Ответ

1 голос
/ 14 марта 2020

С в документах :

Чтобы лучше соответствовать использованию общих функциональных форм, если вычисления, участвующие в завершении этого CompletableFuture, вызвали исключение, этот метод вызывает (непроверенное) исключение CompletionException с основным исключением в качестве причины .

Другими словами,

Exception original = completableException.getCause();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...