Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[3.12] GH-89455: Add missing attributes (added in 3.11) to traceback module docs (GH-105044) #105066

Merged
merged 1 commit into from
May 29, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 @@ -658,6 +658,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.