
``urllib.error`` --- Exception classes raised by urllib.request
***************************************************************

The ``urllib.error`` module defines the exception classes for
exceptions raised by ``urllib.request``.  The base exception class is
``URLError``.

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

exception exception urllib.error.URLError

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

   reason

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

   Changed in version 3.3: ``URLError`` has been made a subclass of
   ``OSError`` instead of ``IOError``.

exception exception urllib.error.HTTPError

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

   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 ``http.server.BaseHTTPRequestHandler.responses``.

   reason

      This is usually a string explaining the reason for this error.

exception exception urllib.error.ContentTooShortError(msg, content)

   This exception is raised when the ``urlretrieve()`` function
   detects that the amount of the downloaded data is less than the
   expected amount (given by the *Content-Length* header).  The
   ``content`` attribute stores the downloaded (and supposedly
   truncated) data.
