Skip to content

Commit eb612f4

Browse files
miss-islingtonAniketsyvstinnerserhiy-storchaka
authored
[3.14] gh-139837: Document attributes of objects recorded by warnings.catch_warnings (GH-139893) (#151473)
* gh-139837: Document attributes of objects recorded by warnings.catch_warnings (GH-139893) (cherry picked from commit 47b7dc7) Co-authored-by: Aniket <148300120+Aniketsy@users.noreply.github.com> Co-authored-by: Victor Stinner <vstinner@python.org> * Apply suggestions from code review Co-authored-by: Serhiy Storchaka <storchaka@gmail.com> --------- Co-authored-by: Aniket <148300120+Aniketsy@users.noreply.github.com> Co-authored-by: Victor Stinner <vstinner@python.org> Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
1 parent f892d79 commit eb612f4

1 file changed

Lines changed: 17 additions & 3 deletions

File tree

Doc/library/warnings.rst

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -611,9 +611,23 @@ Available Context Managers
611611
If the *record* argument is :const:`False` (the default) the context manager
612612
returns :class:`None` on entry. If *record* is :const:`True`, a list is
613613
returned that is progressively populated with objects as seen by a custom
614-
:func:`showwarning` function (which also suppresses output to ``sys.stdout``).
615-
Each object in the list has attributes with the same names as the arguments to
616-
:func:`showwarning`.
614+
:func:`showwarning` function (which also suppresses output to ``sys.stderr``).
615+
Each object in the list is guaranteed to have the following attributes:
616+
617+
- ``message``: the warning message (an instance of :exc:`Warning`)
618+
- ``category``: the warning category (a subclass of :exc:`Warning`)
619+
- ``filename``: the file name where the warning occurred (:class:`str`)
620+
- ``lineno``: the line number in the file (:class:`int`)
621+
- ``file``: the file object used for output (if any), or ``None``
622+
- ``line``: the line of source code (if available), or ``None``
623+
- ``source``: the original object that generated the warning (if
624+
available), or ``None``
625+
626+
.. versionchanged:: 3.6
627+
The ``source`` attribute was added.
628+
629+
The type of these objects is not specified and may change; only the
630+
presence of these attributes is guaranteed.
617631

618632
The *module* argument takes a module that will be used instead of the
619633
module returned when you import :mod:`!warnings` whose filter will be

0 commit comments

Comments
 (0)