在错误侦听器中无法获得截击响应错误消息

时间:2019-02-17 10:29:25

标签: android android-volley

这是我向api请求的代码。

StringRequest sr = new StringRequest(Request.Method.POST,Config.login, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {

        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.e("error",error.getMessage());   // ****
        }
    }){
        @Override
        protected Map<String,String> getParams(){
            Map<String,String> params = new HashMap<String, String>();
            params.put("username",username);
            params.put("password",password);

            return params;
        }
    };

结束这就是答案:

  

E / Volley:[1477] BasicNetwork.performRequest:意外的响应代码400,

和代码中加星号的错误部分:

  

java.lang.NullPointerException:println需要一条消息

否:我问我为什么会出现400错误。我正在寻找一种处理这些回应的方法。

例如,这是我要处理的相应错误消息。

$output["error"] =  TRUE;
$output["message"] = "Bad Request";
http_response_code(400);
echo json_encode($output);

如果我使用类似的方法来处理服务器错误代码,情况2仍会出现相同的打印错误。

if( error instanceof NetworkError) {
                Log.e("error","1");
            } else if( error instanceof ServerError) { // case 2
                Log.e("error",error.getMessage());
            } else if( error instanceof AuthFailureError) {
                Log.e("error","3");
            } else if( error instanceof ParseError) {
                Log.e("error", "4");
            } else if( error instanceof TimeoutError) {
                Log.e("error","6");
            }

0 个答案:

没有答案