Android 机器人空间中的处理错误

Android 机器人空间中的处理错误,android,error-handling,robospice,Android,Error Handling,Robospice,我是机器人世界的新手,在处理错误请求时遇到了问题。在onRequestFailure方法中,有没有一种方法可以从错误请求访问响应主体?如果不是,你们是怎么做的 private class RequestListener implements RequestListener<Object> { @Override public void onRequestFailure(SpiceException e) { } @Override publ

我是机器人世界的新手,在处理错误请求时遇到了问题。在onRequestFailure方法中,有没有一种方法可以从错误请求访问响应主体?如果不是,你们是怎么做的

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

    }

    @Override
    public void onRequestSuccess(Object response) {

    }
}
私有类RequestListener实现RequestListener{
@凌驾
公共void onRequestFailure(SPICE例外){
}
@凌驾
public void onRequestSuccess(对象响应){
}
}
有人建议我应该在Spice请求中进行错误检查。有什么建议吗

@Override
public SubscriptionsContainer loadDataFromNetwork() {
    ResponseEntity<SubscriptionsContainer> response = null;
    try {  
        response = getRestTemplate().exchange(/*your request data*/);
    } catch (HttpClientErrorException e) {
       String responsebody =  e.getResponseBodyAsString();
    }
}
@覆盖
公共订阅容器loadDataFromNetwork(){
ResponseEntity response=null;
试试{
response=getrestemplate().exchange(/*您的请求数据*/);
}捕获(HttpClientErrorE异常){
字符串responsebody=e.getResponseBodyAsString();
}
}

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

因此,您应该检查您的
ResponseEntity
,以了解您期望的条件,并在未满足这些条件时抛出异常。 另一方面,如果您的
restemplate.exchange
调用抛出异常,您也可以处理它(如示例中所示)或让它被抛出(因此它将在主线程上通过
onRequestFailure()
报告)