【发布时间】:2015-10-07 03:35:07
【问题描述】:
我实现了一个带有 volley 库的 android 应用程序来连接我的数据库。与“获取”和“发布”请求的连接有效,但服务器响应无效。 发生这种情况是因为错误响应会自动捕获错误(例如,我的服务器响应代码为 201 表示登录成功,但 volley untersand it like error)。
我覆盖了 Request 类中的 parseNetworkError:
@Override
protected VolleyError parseNetworkError(VolleyError volleyError) {
String parsed;
NetworkResponse networkResponse = volleyError.networkResponse;
if(networkResponse != null && networkResponse.data != null) {
try {
parsed = new String(networkResponse.data, HttpHeaderParser.parseCharset(networkResponse.headers));
} catch (UnsupportedEncodingException var4) {
parsed = new String(networkResponse.data);
}
NetworkResponse response = new NetworkResponse(networkResponse.data);
Response<String> parsedResponse;
switch(response.statusCode){
case 204:
...
case 401:
...
default:
return volleyError;
}
}
return super.parseNetworkError(volleyError);
}
问题是 VolleyError。此类扩展 Exception 并且不包含信息(代码错误)。
我该如何解决这个问题?
【问题讨论】:
-
我遇到了同样的问题。我检查了我的后端,但我意识到请求正文中没有返回信息。
标签: android exception android-volley