This else happens when actual communication errors occur.  errors with a statuscode are errors created by the client library and they are intentionally trying to communicate something back up to the user.  errors without a status code are unforeseen issues, like connection problems, which are server problems.  We should perhaps add a log line here to log the error, but I think this is communicating exactly what we want it to communicate.