-1
나는 목록을 얻기를 위해 API
전화 retrofit
를 사용하지만 데이터 없음 내가 onErrorGetOccasion
메소드를 호출하지하고 때 점에서 나는 HttpException
있어 그림과 같이 그것을 위해 내가 그것을 처리 코드에서.APP 충돌 : 치명적인 예외 : io.reactivex.exceptions.CompositeException
지금 내 문제는 내가
Exception: io.reactivex.exceptions.CompositeException this error and app crash.
이것에 대한 어떤 제안 치명적인 가지고 onErrorGetOccasion
방법에 때때로? 당신의 오류 처리기 자체가 스트림에 던져 오류를 처리하는 것 예외가 발생하는 경우
//Get Occasion API
private void callGetOccasionAPI(String pageIndex, boolean isDialogShown) {
if (NetworkUtils.isConnected()) {
if (mPageCount == 1 && isDialogShown)
showProgressDialog(mContext);
RetrofitAdapter.createRetroServiceWithSessionToken(mContext)
.getOccasion(pageIndex)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(this::onSuccessGetOccasion, this::onErrorGetOccasion);
} else {
SnackBarUtils.defaultSnackBar(getString(R.string.error_no_internet), mRootView);
}
}
private void onErrorGetOccasion(Throwable throwable) {
hideProgressDialog();
if (throwable instanceof HttpException) {
ResponseBody body = ((HttpException) throwable).response().errorBody();
Utils.setLog(body != null ? body.toString() : null);
try {
if (body != null) {
if (body.string().contains(mContext.getString(R.string.msg_event_not_found))) {
if (mPageCount == 1) {
mTxtRecordNotFound.setVisibility(View.VISIBLE);
mRecyclerView.setVisibility(View.INVISIBLE);
}
} else {
SnackBarUtils.errorSnackBar(getString(R.string.error_api), mRootView, null);
}
}
} catch (IOException e) {
e.printStackTrace();
Crashlytics.log(e.getMessage());
}
}
}
처리 방법은 무엇입니까? –
NullPointerException 또는 캐치 대상 IOException과 같이 고정해야하는 것이면 기본 예외가 무엇인지 확인해야합니다. 전체 스택 추적을 게시하면 도움이됩니다. – elmorabea