2017-05-20 4 views
0

Ich möchte wissen, ob der Server ist nicht oder nicht, wenn ich eine Anfrage, grundsätzlich versuche ich ein einfaches Register (es funktioniert bereits), aber wenn der NodeJS Server, wenn ich klicken das Register es erscheint keine Fehlermeldung auf meinem Toast, habe ich versucht, einige Antworten zu folgen, die ich gefunden, aber nichts funktioniertCatch Server Fehler mit Volley

Hier ist, was ich versucht:

public void notifyError(String requestType,VolleyError error) { 
       String body; 
       if(error.networkResponse.data!=null) { 
        String statusCode = String.valueOf(error.networkResponse.statusCode); 
        try { 
         if (error instanceof NetworkError) { 
          Log.d("internet","nao tem internet ligada"); 
         } 
         else if (error instanceof ServerError) { 
          Log.d("internet","The server could not be found. Please try again after some time!!"); 
         } 
         body = new String(error.networkResponse.data,"UTF-8"); 
         JSONObject jsonObj = new JSONObject(body); 
         Log.d("body",String.valueOf(jsonObj.get("message"))); 
         showToast(String.valueOf(jsonObj.get("message"))); 
        } catch (UnsupportedEncodingException e) { 
         showToast("You need to connect to the internet!"); 
        } catch (JSONException e) { 
         Log.d("json:","problems decoding jsonObj"); 
        } 
       } 

Für weitere Fragen im Zusammenhang, wie i konstruieren das volley beispiel ich folgte diesem thread

Die me Ssages innerhalb der NEtwork Fehler und ServerError nie angezeigt, kein Tipp?

Antwort

0

entfernen Sie die "if" Bedingung, error.networkResponse.data gibt null zurück.

public void notifyError(String requestType,VolleyError error) { 
    String body; 
    String statusCode = String.valueOf(error.networkResponse.statusCode); 
    try { 
     if (error instanceof NetworkError) { 
      Log.d("internet","nao tem internet ligada"); 
     } else if (error instanceof ServerError) { 
      Log.d("internet","The server could not be found. Please try again after some time!!"); 
     } 

     body = new String(String.valueOf(error.networkResponse.statusCode),"UTF-8"); 
     JSONObject jsonObj = new JSONObject(body); 
     Log.d("body",String.valueOf(jsonObj.get("message"))); 
     showToast(String.valueOf(jsonObj.get("message"))); 
    } catch (UnsupportedEncodingException e) { 
     showToast("You need to connect to the internet!"); 
    } catch (JSONException e) { 
     Log.d("json:","problems decoding jsonObj"); 
    } 
} 
+0

Sie bedeuten, wenn (Fehler Instanceof NetworkError) { Log.d ("Internet", "nao tem Internet ligada"); } sonst if (error instanceof ServerError) { Log.d ("Internet", "Der Server konnte nicht gefunden werden. Bitte versuchen Sie es nach einiger Zeit erneut !!"); } –

+0

diese Zeile aus dem Code überspringen if (error.networkResponse.data! = Null) –

+0

nicht funktioniert, funktioniert es die Protokolle nicht geben –