Handle Volley error

后端 未结 6 1212
[愿得一人]
[愿得一人] 2020-12-07 12:57

I want to handle and show some message in onErrorResponse

below is my code.

String url = MainActivity.strHostUrl+\"api/delete_picture\";         


        
6条回答
  •  离开以前
    2020-12-07 13:14

    This is what I am using in my projects.

            @Override
            public void onErrorResponse(VolleyError error) {
                if(error instanceof NoConnectionError){
                    ConnectivityManager cm = (ConnectivityManager)mContext
                            .getSystemService(Context.CONNECTIVITY_SERVICE);
                    NetworkInfo activeNetwork = null;
                    if (cm != null) {
                        activeNetwork = cm.getActiveNetworkInfo();
                    }
                    if(activeNetwork != null && activeNetwork.isConnectedOrConnecting()){
                        Toast.makeText(getActivity(), "Server is not connected to internet.",
                                Toast.LENGTH_SHORT).show();
                    } else {
                        Toast.makeText(getActivity(), "Your device is not connected to internet.",
                                Toast.LENGTH_SHORT).show();
                    }
                } else if (error instanceof NetworkError || error.getCause() instanceof ConnectException 
                        || (error.getCause().getMessage() != null 
                        && error.getCause().getMessage().contains("connection"))){
                    Toast.makeText(getActivity(), "Your device is not connected to internet.", 
                            Toast.LENGTH_SHORT).show();
                } else if (error.getCause() instanceof MalformedURLException){
                    Toast.makeText(getActivity(), "Bad Request.", Toast.LENGTH_SHORT).show();
                } else if (error instanceof ParseError || error.getCause() instanceof IllegalStateException
                        || error.getCause() instanceof JSONException
                        || error.getCause() instanceof XmlPullParserException){
                    Toast.makeText(getActivity(), "Parse Error (because of invalid json or xml).", 
                            Toast.LENGTH_SHORT).show();
                } else if (error.getCause() instanceof OutOfMemoryError){
                    Toast.makeText(getActivity(), "Out Of Memory Error.", Toast.LENGTH_SHORT).show();
                }else if (error instanceof AuthFailureError){
                    Toast.makeText(getActivity(), "server couldn't find the authenticated request.", 
                            Toast.LENGTH_SHORT).show();
                } else if (error instanceof ServerError || error.getCause() instanceof ServerError) {
                    Toast.makeText(getActivity(), "Server is not responding.", Toast.LENGTH_SHORT).show();
                }else if (error instanceof TimeoutError || error.getCause() instanceof SocketTimeoutException
                        || error.getCause() instanceof ConnectTimeoutException 
                        || error.getCause() instanceof SocketException
                        || (error.getCause().getMessage() != null 
                        && error.getCause().getMessage().contains("Connection timed out"))) {
                    Toast.makeText(getActivity(), "Connection timeout error", 
                            Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(getActivity(), "An unknown error occurred.", 
                            Toast.LENGTH_SHORT).show();
                }
            }
    

提交回复
热议问题