https://github.com/python/cpython/commit/0068b4aad3173cb4d0a84bdba45d5f87130bbc59 commit: 0068b4aad3173cb4d0a84bdba45d5f87130bbc59 branch: 3.14 author: Miss Islington (bot) <[email protected]> committer: orsenthil <[email protected]> date: 2026-10-28T16:05:54Z summary:
[3.14] gh-57945: Document exceptions not wrapped by urlopen() (GH-160830) (#160831) gh-57945: Document exceptions not wrapped by urlopen() (GH-160830) Exceptions raised while reading or parsing the HTTP response, such as http.client.HTTPException subclasses and OSError subclasses like TimeoutError, propagate from urlopen() without being wrapped in URLError. Document this, and that ValueError is raised for an invalid URL. (cherry picked from commit 87f8c0d8a3214eafad87d2648102644a501452fa) Co-authored-by: Senthil Kumaran <[email protected]> Co-authored-by: Claude Opus 5.5 <[email protected]> files: M Doc/library/urllib.request.rst diff --git a/Doc/library/urllib.request.rst b/Doc/library/urllib.request.rst index 80d4cbb83bfebb..1df66903cb4eb1 100644 --- a/Doc/library/urllib.request.rst +++ b/Doc/library/urllib.request.rst @@ -72,6 +72,16 @@ The :mod:`!urllib.request` module defines the following functions: Raises :exc:`~urllib.error.URLError` on protocol errors. + Exceptions raised while reading or parsing an HTTP response are not + wrapped in :exc:`~urllib.error.URLError` and propagate unchanged. + These include subclasses of :exc:`http.client.HTTPException`, such as + :exc:`~http.client.BadStatusLine` for a malformed status line, and + subclasses of :exc:`OSError`, such as :exc:`TimeoutError` if the server + does not respond within *timeout* seconds, or + :exc:`~http.client.RemoteDisconnected` if the server closes the + connection without sending a response. :exc:`ValueError` is raised if + *url* is not a valid URL. + Note that ``None`` may be returned if no handler handles the request (though the default installed global :class:`OpenerDirector` uses :class:`UnknownHandler` to ensure this never happens). _______________________________________________ Python-checkins mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3//lists/python-checkins.python.org Member address: [email protected]
