Я хочу поймать исключение HTTP, чтобы я мог обработать его и отображать правильные сообщения об ошибках для пользователей.
Я использую Retrofit с RxJava 2. Я ловлю throwable, но это всегда идет в другом случае, а не в случае if.
Disposable disposable = agreementsRepository.getAgreementAppointments(agreementId, appointmentId)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
agreementAppointment -> {
if (Constants.APPOINTMENT_INITIAL.equals(appointmentType)) {
view.displayInitialAppointmentInfo(agreementAppointment.getServiceAppointment());
} else {
view.displayRecurringAppointmentInfo(agreementAppointment.getServiceAppointment());
}
},
throwable -> {
if(throwable instanceof HttpException) {
Log.d("TAG", "Http exception");
} else {
view.handleError(throwable);
} }
);
Сервер возвращает исключение HTTP 500, и я пытаюсь перехватить его с помощью throwable, но почему-то он не переходит к оператору if.
В чем проблема?