调试遇到的问题

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>)
写错了,这里走了另一条通路,所以导致没有捕获异常。


总结:如果发现程序没有按照正常成功和错误的路径走,而是走了一条意外的路径。看看源头是否设置了另一条通路。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值