项目中有时候一个网络请求出现问题,只知道是服务器错误,不知道具体出错原因和出错位置,使后台开发人员工作量增大,开发效率变低。
给出一个可以获取网络请求失败具体出错原因和出错位置的方法
因为网络出错的原因很多,偶尔会出现空指针引起的闪退,因此捕获这个空指针,防止闪退,也不影响逻辑,因为这只是实现方便查看服务器出错信息的功能
new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e(TAG, "VolleyError:" + error.toString()); try { byte[] htmlBodyBytes = error.networkResponse.data; Log.e(TAG, new String(htmlBodyBytes), error); } catch (NullPointerException e) { e.printStackTrace(); } ToastUtil.showShortToast(CircleActivity.this, "服务器连接异常"); if (!CheckNewWorkConnection.isNetworkConnected(getApplicationContext())) { Toast.makeText(getApplicationContext(), "网络连接失败,请检查您的网络", Toast.LENGTH_SHORT).show(); .... } } }