您的位置:首页 > 其它

调试遇到的问题

2014-12-03 10:32 183 查看
ResponseListener listener = new ResponseListener(TAG_LOGIN);
GsonRequest<UserBean> gsonRequest = new GsonRequest<UserBean>(
Method.POST, Api.LOGIN_USER, UserBean.class, null, listener,
errorListener()) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
String ts = DateUtils.getTimeStamp();
String deviceId = DeviceInfoUtils.getIMEI(getActivity());
params.put("apipwd", EncryptUtils.md5(ConstDef.API_PWD + ts));
params.put("apitime", ts);
params.put("username", account);
params.put("passwd", EncryptUtils.md5(passwd));
params.put("deviceid", deviceId);
params.put("appkey", EncryptUtils.md5(deviceId + ts));
return params;
}
};
executeRequest(gsonRequest);


private class ResponseListener implements Response.Listener<UserBean>,
Response.ErrorListener {
private Object tag;

public ResponseListener(Object tag) {
this.tag = tag;
}

@Override
public void onResponse(UserBean ret) {
doResponse(ret, this.tag);
}

@Override
public void onErrorResponse(VolleyError err) {
doErrorResponse(err, this.tag);
}
}这里使用volley进行网络访问的时候,不管网络访问成功还是失败,每次都不执行,这里的onResponse和onErrorResponse方法。
断点调试进入了volley看了一下,确实抛出了异常,为啥没有捕获呢?当时非常的奇怪。

原来是

GsonRequest<UserBean> gsonRequest = new GsonRequest<UserBean>(
Method.POST, Api.LOGIN_USER, UserBean.class, null, listener,
<span style="font-size:18px;color:#ff6666;">errorListener()</span>)写错了,这里走了另一条通路,所以导致没有捕获异常。

总结:如果发现程序没有按照正常成功和错误的路径走,而是走了一条意外的路径。看看源头是否设置了另一条通路。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: