How can I catch the error 500 and display a notification (Toast).
API
@POST("events/") Call<Event> createEvent(@Body Event event); Restclient
public void createEvent(final String eventId) { Realm realm = Realm.getDefaultInstance(); Event event = realm.where(Event.class).equalTo("id", eventId).findFirst(); event = realm.copyFromRealm(event); realm.close(); if (event != null) { ArrayList<String> interest_ids = new ArrayList<>(); for (Interest interest: event.getInterests() ) { interest_ids.add(interest.getId()); } event.setInterestIds(interest_ids); happApi.createEvent(event).enqueue(new Callback<Event>() { @Override public void onResponse(Call<Event> call, Response<Event> response) { Log.d("HAPP_API", String.valueOf(response.code())); Log.d("HAPP_API", response.message()); if (response.isSuccessful()) { Event event = response.body(); Realm realm = Realm.getDefaultInstance(); realm.beginTransaction(); realm.copyToRealmOrUpdate(event); realm.commitTransaction(); realm.close(); Intent intent = new Intent(BroadcastIntents.EVENTEDIT_REQUEST_OK); intent.putExtra("event_id", event.getId()); LocalBroadcastManager.getInstance(App.getContext()).sendBroadcast(intent); } else { Intent intent = new Intent(BroadcastIntents.EVENTEDIT_REQUEST_FAIL); intent.putExtra("CODE", response.code()); intent.putExtra("MESSAGE", response.message()); LocalBroadcastManager.getInstance(App.getContext()).sendBroadcast(intent); } Realm realm = Realm.getDefaultInstance(); realm.beginTransaction(); Event oldEvent = realm.where(Event.class).equalTo("id", eventId).findFirst(); oldEvent.deleteFromRealm(); realm.commitTransaction(); realm.close(); } @Override public void onFailure(Call<Event> call, Throwable t) { Realm realm = Realm.getDefaultInstance(); realm.beginTransaction(); Event oldEvent = realm.where(Event.class).equalTo("id", eventId).findFirst(); oldEvent.deleteFromRealm(); realm.commitTransaction(); realm.close(); Intent intent = new Intent(BroadcastIntents.EVENTEDIT_REQUEST_FAIL); intent.putExtra("MESSAGE", t.getLocalizedMessage()); LocalBroadcastManager.getInstance(App.getContext()).sendBroadcast(intent); } }); } } Apiservice
public static void createEvent(String eventId) { Intent intent = new Intent(App.getContext(), APIService.class); intent.setAction(ACTION_PATCH_EVENTCREATE); intent.putExtra(EXTRA_EE_ID, eventId); App.getContext().startService(intent); }
if(errorCode == 500){Toast.makeText(context, "шота сламалась, туту ашыпка 500!!!111адын").show()}- Vladyslav Matviienko