gh-131117: Update tp_finalize example to use PyErr_GetRaisedException (#131118)

The tp_finalize C API doc used PyErr_Fetch() and PyErr_Restore() in
its example code. That API was deprecated in 3.12.

Update to point to the suggested replacement function
PyErr_GetRaisedException() which has a sample usage.
This commit is contained in:
Cody Maloney 2025-03-19 10:27:55 -07:00 committed by GitHub
parent 5c44d7d99c
commit a4832f6b9a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2154,15 +2154,13 @@ and :c:data:`PyType_Type` effectively act as defaults.)
static void
local_finalize(PyObject *self)
{
PyObject *error_type, *error_value, *error_traceback;
/* Save the current exception, if any. */
PyErr_Fetch(&error_type, &error_value, &error_traceback);
PyObject *exc = PyErr_GetRaisedException();
/* ... */
/* Restore the saved exception. */
PyErr_Restore(error_type, error_value, error_traceback);
PyErr_SetRaisedException(exc);
}
**Inheritance:**