Volley的异常列表:
AuthFailureError:如果在做一个HTTP的身份验证,可能会发生这个错误。
NetworkError:Socket关闭,服务器宕机,DNS错误都会产生这个错误。
NoConnectionError:和NetworkError类似,这个是客户端没有网络连接。
ParseError:在使用JsonObjectRequest或JsonArrayRequest时,如果接收到的JSON是畸形,会产生异常。
SERVERERROR:服务器的响应的一个错误,最有可能的4xx或5xx HTTP状态代码。
AuthFailureError:如果在做一个HTTP的身份验证,可能会发生这个错误。
NetworkError:Socket关闭,服务器宕机,DNS错误都会产生这个错误。
NoConnectionError:和NetworkError类似,这个是客户端没有网络连接。
ParseError:在使用JsonObjectRequest或JsonArrayRequest时,如果接收到的JSON是畸形,会产生异常。
SERVERERROR:服务器的响应的一个错误,最有可能的4xx或5xx HTTP状态代码。
TimeoutError:Socket超时,服务器太忙或网络延迟会产生这个异常。默认情况下,Volley的超时时间为2.5秒。如果得到这个错误可以使用RetryPolicy。
通常在baseActivity和baseFragment中封装一下这些异常。
public void checkError(VolleyError error){
if(error!=null){
if(error instanceof TimeoutError){
Toast.makeText(mActivity,"网络请求超时,请重试!",Toast.LENGTH_SHORT).show();
return;
}
if(error instanceof ServerError) {
Toast.makeText(mActivity,"服务器异常",Toast.LENGTH_SHORT).show();
return;
}
if(error instanceof NetworkError) {
Toast.makeText(mActivity,"请检查网络",Toast.LENGTH_SHORT).show();
return;
}
if(error instanceof ParseError) {
Toast.makeText(mActivity,"数据格式错误",Toast.LENGTH_SHORT).show();
return;
}
Toast.makeText(mActivity,error.getMessage(),Toast.LENGTH_SHORT).show();
}
}