If a socket error occurred that wasn't -2, the client would get an error about KeyError, which wouldn't be helpful. raise the unhandled exception to provide more informative data in case of an issue.