• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1:mod:`!urllib.error` --- Exception classes raised by urllib.request
2===================================================================
3
4.. module:: urllib.error
5   :synopsis: Exception classes raised by urllib.request.
6
7.. moduleauthor:: Jeremy Hylton <jeremy@alum.mit.edu>
8.. sectionauthor:: Senthil Kumaran <orsenthil@gmail.com>
9
10**Source code:** :source:`Lib/urllib/error.py`
11
12--------------
13
14The :mod:`urllib.error` module defines the exception classes for exceptions
15raised by :mod:`urllib.request`.  The base exception class is :exc:`URLError`.
16
17The following exceptions are raised by :mod:`urllib.error` as appropriate:
18
19.. exception:: URLError
20
21   The handlers raise this exception (or derived exceptions) when they run into
22   a problem.  It is a subclass of :exc:`OSError`.
23
24   .. attribute:: reason
25
26      The reason for this error.  It can be a message string or another
27      exception instance.
28
29   .. versionchanged:: 3.3
30      :exc:`URLError` used to be a subtype of :exc:`IOError`, which is now an
31      alias of :exc:`OSError`.
32
33
34.. exception:: HTTPError(url, code, msg, hdrs, fp)
35
36   Though being an exception (a subclass of :exc:`URLError`), an
37   :exc:`HTTPError` can also function as a non-exceptional file-like return
38   value (the same thing that :func:`~urllib.request.urlopen` returns).  This
39   is useful when handling exotic HTTP errors, such as requests for
40   authentication.
41
42   .. attribute:: url
43
44      Contains the request URL.
45      An alias for *filename* attribute.
46
47   .. attribute:: code
48
49      An HTTP status code as defined in :rfc:`2616`.  This numeric value corresponds
50      to a value found in the dictionary of codes as found in
51      :attr:`http.server.BaseHTTPRequestHandler.responses`.
52
53   .. attribute:: reason
54
55      This is usually a string explaining the reason for this error.
56      An alias for *msg* attribute.
57
58   .. attribute:: headers
59
60      The HTTP response headers for the HTTP request that caused the
61      :exc:`HTTPError`.
62      An alias for *hdrs* attribute.
63
64      .. versionadded:: 3.4
65
66   .. attribute:: fp
67
68      A file-like object where the HTTP error body can be read from.
69
70.. exception:: ContentTooShortError(msg, content)
71
72   This exception is raised when the :func:`~urllib.request.urlretrieve`
73   function detects that
74   the amount of the downloaded data is less than the expected amount (given by
75   the *Content-Length* header).
76
77   .. attribute:: content
78
79      The downloaded (and supposedly truncated) data.
80