the answer is that your extended Request class has to also implement deliverError, along with deliverResponse
private final Listener<T> mListener;
private ErrorListener mErrorListener;
@Override
public void deliverError(VolleyError error) {
mErrorListener.onErrorResponse(error);
}
with ErrorListener
initialized in your constructor