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

iritkatriel webhook-mailer at python.org
Mon May 29 15:37:09 EDT 2023


https://github.com/python/cpython/commit/67945261c42d746d0674b4361b2d8efa75e57345
commit: 67945261c42d746d0674b4361b2d8efa75e57345
branch: 3.12
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: iritkatriel <1055913+iritkatriel at users.noreply.github.com>
date: 2023-05-29T20:37:02+01:00
summary:

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

GH-89455: Add missing attributes (added in 3.11) to traceback module docs (GH-105044)
(cherry picked from commit 39f6a0489fcc815a578d27dfee2feea003c896f8)

Co-authored-by: Jakub Kuczys <me at jacken.men>

files:
A Misc/NEWS.d/next/Documentation/2023-05-28-21-01-00.gh-issue-89455.qAKRrA.rst
M Doc/library/traceback.rst
M Lib/traceback.py

diff --git a/Doc/library/traceback.rst b/Doc/library/traceback.rst
index 5c0e261b9076..9a04b56947a1 100644
--- a/Doc/library/traceback.rst
+++ b/Doc/library/traceback.rst
@@ -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.
@@ -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__``.
@@ -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.
@@ -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
 -----------------------------
diff --git a/Lib/traceback.py b/Lib/traceback.py
index 419f6e81b5e1..0ea77bfb9461 100644
--- a/Lib/traceback.py
+++ b/Lib/traceback.py
@@ -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.
diff --git a/Misc/NEWS.d/next/Documentation/2023-05-28-21-01-00.gh-issue-89455.qAKRrA.rst b/Misc/NEWS.d/next/Documentation/2023-05-28-21-01-00.gh-issue-89455.qAKRrA.rst
new file mode 100644
index 000000000000..fdfa4357f001
--- /dev/null
+++ b/Misc/NEWS.d/next/Documentation/2023-05-28-21-01-00.gh-issue-89455.qAKRrA.rst
@@ -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.



More information about the Python-checkins mailing list