Как обрабатывать сообщения об ошибках на любом этапе завершаемой будущей цепочки? - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть цепочка завершаемых фьючерсов, каждое из которых выполняет вызов API, в зависимости от предыдущего результата.Я пытаюсь понять, как обрабатывать сообщения об ошибках в каждой цепочке.Если какой-либо шаг выдаст мне ошибку HTTP, скажем, неверный запрос, я должен разорвать цепочку и показать сообщение об ошибке.Я думаю о создании исключения времени выполнения в случае возникновения ошибки, а затем добавить исключение () в конце цепочки CF.Есть ли лучший способ сделать это?Можно ли избежать выдачи исключений в случае ответов об ошибках?

1 Ответ

0 голосов
/ 08 февраля 2019

Руководство по завершению будущего

Для обработки ошибок в цепочке асинхронных вычислений идиома throw / catch должна была быть адаптирована аналогичным образом.

Вместо того, чтобы перехватывать исключение в синтаксическом блоке, класс CompletableFuture позволяет вам обрабатывать его в специальном методе handle.Этот метод получает два параметра: результат вычисления (если он успешно завершен) и генерируемое исключение (если какой-либо шаг вычисления не завершился нормально).

...