[Python-checkins] gh-101578: Fixup NEWS and add What's New entry for new exception APIs (#102157)

erlend-aasland webhook-mailer at python.org
Thu Feb 23 07:20:02 EST 2023


https://github.com/python/cpython/commit/5b9573eed43c9a43bf0cf54fe012413e08cce34f
commit: 5b9573eed43c9a43bf0cf54fe012413e08cce34f
branch: main
author: Erlend E. Aasland <erlend.aasland at protonmail.com>
committer: erlend-aasland <erlend.aasland at protonmail.com>
date: 2023-02-23T13:19:21+01:00
summary:

gh-101578: Fixup NEWS and add What's New entry for new exception APIs (#102157)

files:
M Doc/whatsnew/3.12.rst
M Misc/NEWS.d/next/C API/2023-02-06-16-14-30.gh-issue-101578.PW5fA9.rst

diff --git a/Doc/whatsnew/3.12.rst b/Doc/whatsnew/3.12.rst
index 909c9102a405..e551c5b4fd06 100644
--- a/Doc/whatsnew/3.12.rst
+++ b/Doc/whatsnew/3.12.rst
@@ -870,6 +870,19 @@ New Features
   get a frame variable by its name.
   (Contributed by Victor Stinner in :gh:`91248`.)
 
+* Add :c:func:`PyErr_GetRaisedException` and :c:func:`PyErr_SetRaisedException`
+  for saving and restoring the current exception.
+  These functions return and accept a single exception object,
+  rather than the triple arguments of the now-deprecated
+  :c:func:`PyErr_Fetch` and :c:func:`PyErr_Restore`.
+  This is less error prone and a bit more efficient.
+  (Contributed by Mark Shannon in :gh:`101578`.)
+
+* Add :c:func:`PyException_GetArgs` and :c:func:`PyException_SetArgs`
+  as convenience functions for retrieving and modifying
+  the :attr:`~BaseException.args` passed to the exception's constructor.
+  (Contributed by Mark Shannon in :gh:`101578`.)
+
 Porting to Python 3.12
 ----------------------
 
@@ -993,6 +1006,11 @@ Deprecated
   (Contributed in :gh:`47146` by Petr Viktorin, based on
   earlier work by Alexander Belopolsky and Matthias Braun.)
 
+* :c:func:`PyErr_Fetch` and :c:func:`PyErr_Restore` are deprecated.
+  Use :c:func:`PyErr_GetRaisedException` and
+  :c:func:`PyErr_SetRaisedException` instead.
+  (Contributed by Mark Shannon in :gh:`101578`.)
+
 
 Removed
 -------
diff --git a/Misc/NEWS.d/next/C API/2023-02-06-16-14-30.gh-issue-101578.PW5fA9.rst b/Misc/NEWS.d/next/C API/2023-02-06-16-14-30.gh-issue-101578.PW5fA9.rst
index fc694f6e051b..27294a9e5179 100644
--- a/Misc/NEWS.d/next/C API/2023-02-06-16-14-30.gh-issue-101578.PW5fA9.rst	
+++ b/Misc/NEWS.d/next/C API/2023-02-06-16-14-30.gh-issue-101578.PW5fA9.rst	
@@ -1,13 +1,10 @@
-Add new C-API functions for saving and restoring the current exception:
-``PyErr_GetRaisedException`` and ``PyErr_SetRaisedException``.
-These functions take and return a single exception rather than
-the triple of  ``PyErr_Fetch`` and ``PyErr_Restore``.
+Add :c:func:`PyErr_GetRaisedException` and :c:func:`PyErr_SetRaisedException`
+for saving and restoring the current exception.
+These functions return and accept a single exception object,
+rather than the triple arguments of the now-deprecated
+:c:func:`PyErr_Fetch` and :c:func:`PyErr_Restore`.
 This is less error prone and a bit more efficient.
 
-The three arguments forms of saving and restoring the
-current exception: ``PyErr_Fetch`` and ``PyErr_Restore``
-are deprecated.
-
-Also add ``PyException_GetArgs`` and ``PyException_SetArgs``
-as convenience functions to help dealing with
-exceptions in the C API.
+Add :c:func:`PyException_GetArgs` and :c:func:`PyException_SetArgs`
+as convenience functions for retrieving and modifying
+the :attr:`~BaseException.args` passed to the exception's constructor.



More information about the Python-checkins mailing list