Теряется message Ошибки при асинхронном вызове метода в блоке .onErrorResume

Имеется такой блок кода. Вызывается сервис paymentService, который возвращает ошибку NotFoundException.

.flatMap { it ->
                Mono.zip(
                    paymentService.findByName(it.t1.paymentMethodName)
                        .onErrorResume(NotFoundException::class.java) { error -> Mono.error(processLogError(error)) }
                )
            }
        }

...

private fun processLogError(exception: NotFoundException): Throwable {
        log.info("exception: ${exception.message}") // NULL
        orderService.orderStatusToInvalid(exception.message).subscribe()
        return exception
    }

...

fun findByName(name: String): Mono<Payment> {
        return paymentMethodRepository.findByName(name)
            .switchIfEmpty(
                Mono.error(NotFoundException("Custom Message NotFoundException"))
            ).map {
                it?.toDto()
            }
    }

когда я воспроизвожу ситуацию, где paymentMethodRepository.findByName(name), возвращает empty - ошибка NotFoundException пробрасывается, обрабатывается хендлером и сообщение

"Custom Message NotFoundException"

отображается в теле ответа.

Но мне нужно это сообщение передать в другой метод.

Я вызываю .onErrorResume(NotFoundException::class.java) тип сообщения перехватывается, но message null.


Ответы (0 шт):