android - 处理RoboSpice中的错误

标签 android error-handling robospice

我是Robospice的新手,在处理错误请求时遇到问题。有没有一种方法可以从onRequestFailure方法中的错误请求访问Response主体?如果没有,你们是怎么做到的?

private class RequestListener implements RequestListener<Object> {
    @Override
    public void onRequestFailure(SpiceException e) {

    }

    @Override
    public void onRequestSuccess(Object response) {

    }
}

有建议,我应该在Spice Request中进行错误检查。有什么建议吗?
@Override
public SubscriptionsContainer loadDataFromNetwork() {
    ResponseEntity<SubscriptionsContainer> response = null;
    try {  
        response = getRestTemplate().exchange(/*your request data*/);
    } catch (HttpClientErrorException e) {
       String responsebody =  e.getResponseBodyAsString();
    }
}

最佳答案

如果从loadDataFromNetwork()抛出任何异常,它将被包装为SpiceException并传递给onRequestFailure()作为其参数。

因此,您应该检查ResponseEntity<T>以了解期望的条件,并在未满足条件的情况下引发异常。
另一方面,如果您的RestTemplate.exchange调用引发了异常,则您也可以处理该异常(如您的示例所示)或将其引发(这样它将在主线程上与onRequestFailure()一起报告)。

关于android - 处理RoboSpice中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29937200/

相关文章:

c++ - 抛出运行时错误

java - Retrofit.RetrofitError 请求网络执行过程中出现异常 : null

android - 使用 RoboSpice 的 OkHttpBitmapSpiceManager 从 URL 加载图像时出现 NoClassDefFoundError

Android - 如何在 Robospice/retrofit 中获取 JSON 格式的请求和响应

android - 手机背景看起来很糟糕?

android - Crosswalk 无法访问 localStorage

android - gradle无法在远程jenkins服务器上构建Android项目

java - Java : Cannot make static reference to non static method [duplicate]

打包时Android、Gradle和重复文件错误

python - python plot get_loc(self,key,method,tolerance)错误