改造多个请求错误原点

时间:2015-08-01 08:17:15

标签: android error-handling httpurlconnection retrofit okhttp

我有一个包含多个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);
        }
    }
}

0 个答案:

没有答案