Как реагировать на исключения с помощью rxjava2 - PullRequest
0 голосов
/ 20 июня 2020

Я пишу тип службы запроса / ответа, используя rxjava2. Я получаю входящие запросы через брокера сообщений в виде сообщений. Типичная цепочка обработки запросов состоит из прохождения входящего запроса через различные синхронные и асинхронные этапы. Каждый такой этап выполняется с использованием операторов map или flatMap / concatMap. На любом таком этапе могут быть исключения. Когда на любом из этих этапов возникает исключение, я хочу отправить ответ удаленному вызывающему с установленным флагом ошибки. Для этого мне нужен доступ к запросу, который обрабатывался при возникновении исключения / ошибки. Я могу поставить try / catch на всех этапах и создать собственное исключение, содержащее запрос, который затем может быть брошен, но это будет очень некрасиво, учитывая, что большинство моих этапов представляют собой просто однострочные. Есть рекомендации?

...