Back to Cpython

:mod:`!urllib.error` --- Exception classes raised by urllib.request

Doc/library/urllib.error.rst

3.15.0a82.3 KB
Original Source

:mod:!urllib.error --- Exception classes raised by urllib.request

.. module:: urllib.error :synopsis: Exception classes raised by urllib.request.

Source code: :source:Lib/urllib/error.py


The :mod:!urllib.error module defines the exception classes for exceptions raised by :mod:urllib.request. The base exception class is :exc:URLError.

The following exceptions are raised by :mod:!urllib.error as appropriate:

.. exception:: URLError

The handlers raise this exception (or derived exceptions) when they run into a problem. It is a subclass of :exc:OSError.

.. attribute:: reason

  The reason for this error.  It can be a message string or another
  exception instance.

.. versionchanged:: 3.3 :exc:URLError used to be a subtype of :exc:IOError, which is now an alias of :exc:OSError.

.. exception:: HTTPError(url, code, msg, hdrs, fp)

Though being an exception (a subclass of :exc:URLError), an :exc:HTTPError can also function as a non-exceptional file-like return value (the same thing that :func:~urllib.request.urlopen returns). This is useful when handling exotic HTTP errors, such as requests for authentication.

.. attribute:: url

  Contains the request URL.
  An alias for *filename* attribute.

.. attribute:: code

  An HTTP status code as defined in :rfc:`2616`.  This numeric value corresponds
  to a value found in the dictionary of codes as found in
  :attr:`http.server.BaseHTTPRequestHandler.responses`.

.. attribute:: reason

  This is usually a string explaining the reason for this error.
  An alias for *msg* attribute.

.. attribute:: headers

  The HTTP response headers for the HTTP request that caused the
  :exc:`HTTPError`.
  An alias for *hdrs* attribute.

  .. versionadded:: 3.4

.. attribute:: fp

  A file-like object where the HTTP error body can be read from.

.. exception:: ContentTooShortError(msg, content)

This exception is raised when the :func:~urllib.request.urlretrieve function detects that the amount of the downloaded data is less than the expected amount (given by the Content-Length header).

.. attribute:: content

  The downloaded (and supposedly truncated) data.