gh-101100: Fix references to `URLError and HTTPError in howto/urllib2.rst` (#107966)

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
This commit is contained in:
Yuki K 2023-09-29 17:35:29 +09:00 committed by GitHub
parent 8898a8683b
commit bfd94ab9e9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -194,11 +194,11 @@ which comes after we have a look at what happens when things go wrong.
Handling Exceptions Handling Exceptions
=================== ===================
*urlopen* raises :exc:`URLError` when it cannot handle a response (though as *urlopen* raises :exc:`~urllib.error.URLError` when it cannot handle a response (though as
usual with Python APIs, built-in exceptions such as :exc:`ValueError`, usual with Python APIs, built-in exceptions such as :exc:`ValueError`,
:exc:`TypeError` etc. may also be raised). :exc:`TypeError` etc. may also be raised).
:exc:`HTTPError` is the subclass of :exc:`URLError` raised in the specific case of :exc:`~urllib.error.HTTPError` is the subclass of :exc:`~urllib.error.URLError` raised in the specific case of
HTTP URLs. HTTP URLs.
The exception classes are exported from the :mod:`urllib.error` module. The exception classes are exported from the :mod:`urllib.error` module.
@ -229,12 +229,12 @@ the status code indicates that the server is unable to fulfil the request. The
default handlers will handle some of these responses for you (for example, if default handlers will handle some of these responses for you (for example, if
the response is a "redirection" that requests the client fetch the document from the response is a "redirection" that requests the client fetch the document from
a different URL, urllib will handle that for you). For those it can't handle, a different URL, urllib will handle that for you). For those it can't handle,
urlopen will raise an :exc:`HTTPError`. Typical errors include '404' (page not urlopen will raise an :exc:`~urllib.error.HTTPError`. Typical errors include '404' (page not
found), '403' (request forbidden), and '401' (authentication required). found), '403' (request forbidden), and '401' (authentication required).
See section 10 of :rfc:`2616` for a reference on all the HTTP error codes. See section 10 of :rfc:`2616` for a reference on all the HTTP error codes.
The :exc:`HTTPError` instance raised will have an integer 'code' attribute, which The :exc:`~urllib.error.HTTPError` instance raised will have an integer 'code' attribute, which
corresponds to the error sent by the server. corresponds to the error sent by the server.
Error Codes Error Codes
@ -317,7 +317,7 @@ dictionary is reproduced here for convenience ::
} }
When an error is raised the server responds by returning an HTTP error code When an error is raised the server responds by returning an HTTP error code
*and* an error page. You can use the :exc:`HTTPError` instance as a response on the *and* an error page. You can use the :exc:`~urllib.error.HTTPError` instance as a response on the
page returned. This means that as well as the code attribute, it also has read, page returned. This means that as well as the code attribute, it also has read,
geturl, and info, methods as returned by the ``urllib.response`` module:: geturl, and info, methods as returned by the ``urllib.response`` module::
@ -338,7 +338,7 @@ geturl, and info, methods as returned by the ``urllib.response`` module::
Wrapping it Up Wrapping it Up
-------------- --------------
So if you want to be prepared for :exc:`HTTPError` *or* :exc:`URLError` there are two So if you want to be prepared for :exc:`~urllib.error.HTTPError` *or* :exc:`~urllib.error.URLError` there are two
basic approaches. I prefer the second approach. basic approaches. I prefer the second approach.
Number 1 Number 1
@ -365,7 +365,7 @@ Number 1
.. note:: .. note::
The ``except HTTPError`` *must* come first, otherwise ``except URLError`` The ``except HTTPError`` *must* come first, otherwise ``except URLError``
will *also* catch an :exc:`HTTPError`. will *also* catch an :exc:`~urllib.error.HTTPError`.
Number 2 Number 2
~~~~~~~~ ~~~~~~~~
@ -391,7 +391,7 @@ Number 2
info and geturl info and geturl
=============== ===============
The response returned by urlopen (or the :exc:`HTTPError` instance) has two The response returned by urlopen (or the :exc:`~urllib.error.HTTPError` instance) has two
useful methods :meth:`info` and :meth:`geturl` and is defined in the module useful methods :meth:`info` and :meth:`geturl` and is defined in the module
:mod:`urllib.response`.. :mod:`urllib.response`..