For 200 error codes, the response object is returned immediately.
For non-200 error codes, this simply passes the job on to the
protocol_error_code() handler methods, via
OpenerDirector.error(). Eventually,
urllib2.HTTPDefaultErrorHandler will raise an
HTTPError if no other handler handles the error.