Skip to content

Commit

Permalink
pythonGH-89455: Add missing attributes (added in 3.11) to traceback m…
Browse files Browse the repository at this point in the history
…odule docs (pythonGH-105044)

(cherry picked from commit 39f6a04)

Co-authored-by: Jakub Kuczys <me@jacken.men>
  • Loading branch information
Jackenmen authored and miss-islington committed May 29, 2023
1 parent d34e58a commit a33343f
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 1 deletion.
19 changes: 18 additions & 1 deletion Doc/library/traceback.rst
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ The module also defines the following classes:
:class:`TracebackException` objects are created from actual exceptions to
capture data for later printing in a lightweight fashion.

.. class:: TracebackException(exc_type, exc_value, exc_traceback, *, limit=None, lookup_lines=True, capture_locals=False, compact=False)
.. class:: TracebackException(exc_type, exc_value, exc_traceback, *, limit=None, lookup_lines=True, capture_locals=False, compact=False, max_group_width=15, max_group_depth=10)

Capture an exception for later rendering. *limit*, *lookup_lines* and
*capture_locals* are as for the :class:`StackSummary` class.
Expand All @@ -230,6 +230,12 @@ capture data for later printing in a lightweight fashion.

Note that when locals are captured, they are also shown in the traceback.

*max_group_width* and *max_group_depth* control the formatting of exception
groups (see :exc:`BaseExceptionGroup`). The depth refers to the nesting
level of the group, and the width refers to the size of a single exception
group's exceptions array. The formatted output is truncated when either
limit is exceeded.

.. attribute:: __cause__

A :class:`TracebackException` of the original ``__cause__``.
Expand All @@ -238,6 +244,14 @@ capture data for later printing in a lightweight fashion.

A :class:`TracebackException` of the original ``__context__``.

.. attribute:: exceptions

If ``self`` represents an :exc:`ExceptionGroup`, this field holds a list of
:class:`TracebackException` instances representing the nested exceptions.
Otherwise it is ``None``.

.. versionadded:: 3.11

.. attribute:: __suppress_context__

The ``__suppress_context__`` value from the original exception.
Expand Down Expand Up @@ -323,6 +337,9 @@ capture data for later printing in a lightweight fashion.
.. versionchanged:: 3.10
Added the *compact* parameter.

.. versionchanged:: 3.11
Added the *max_group_width* and *max_group_depth* parameters.


:class:`StackSummary` Objects
-----------------------------
Expand Down
2 changes: 2 additions & 0 deletions Lib/traceback.py
Original file line number Diff line number Diff line change
Expand Up @@ -653,6 +653,8 @@ class TracebackException:
- :attr:`__cause__` A TracebackException of the original *__cause__*.
- :attr:`__context__` A TracebackException of the original *__context__*.
- :attr:`exceptions` For exception groups - a list of TracebackException
instances for the nested *exceptions*. ``None`` for other exceptions.
- :attr:`__suppress_context__` The *__suppress_context__* value from the
original exception.
- :attr:`stack` A `StackSummary` representing the traceback.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Add missing documentation for the ``max_group_depth`` and ``max_group_width``
parameters and the ``exceptions`` attribute of the
:class:`traceback.TracebackException` class.

0 comments on commit a33343f

Please sign in to comment.