我有一个包含多个Retrofit请求的片段。发生错误时的所有请求都会收集到同一个onEvent(ErrorEvent事件)方法中。如何确定哪个请求导致异常?我应该为每个请求添加TAG吗?也许在错误逻辑里面我可以"保存"起源?
编辑:这里我的错误回调,SOURCE识别Fragment.class.getSimpleName()
abstract class APICallback<T> implements Callback<T> {
private final EventBus bus = EventBus.getDefault();
private final String source;
public APICallback(String source) {
this.source = source;
}
public abstract void success(T object, Response response);
private void failure(ErrorAPI errorAPI, String source) {
bus.post(new ErrorAPIEvent(errorAPI, source));
}
@Override
public void failure(RetrofitError retrofitError) {
ErrorAPI errorAPI = (ErrorAPI) retrofitError.getBodyAs(ErrorAPI.class);
if (errorAPI != null)
failure(errorAPI, source);
else {
failure(new ErrorAPI(retrofitError.getMessage()), source);
}
}
}