Транспортът може да логне неуспешна прокси връзка, докато приложението също получава и обработва реактивната грешка. Само записът в лога не доказва, че манипулаторът на приложението е бил пропуснат.

Следете сигнала за грешка във веригата, която действително се абонира. try/catch около код, който само създава Mono, е различен обхват от обработката на по-късен мрежов отказ.

ОператорЕфект
doOnErrorИзвършва страничен ефект, докато грешката продължава
onErrorMapПреобразува грешка в друга грешка
onErrorResumeПреминава към алтернативен издател

Изберете поведението, което приложението изисква. Записването на метрика не изисква връщане на фалшиво успешно съдържание. Алтернативният отговор трябва да е умишлен резултат от приложението, а не начин да се скрие неуспешен маршрут.

Разграничавайте също изключенията на транспорта от получените HTTP статуси за грешка. Прокси връзката може да се провали преди да съществува обикновен отговор от дестинацията, така че манипулатор на HTTP статус може да няма какво да провери. Запазете причината на WebClientRequestException при диагностициране на по-ниския отказ.

Регулирайте логването само след като разберете резултата. Пълното изключване на транспортния логер може да премахне доказателства, нужни за по-късен таймаут, TLS проблем или отказ при удостоверяване, без да променя поведението на реактивния конвейер.

Подобни статии