The callbacks for RAISE, RERAISE, EXCEPTION_HANDLED, PY_UNWIND and STOP_ITERATION all take the exception as their third argument.
PY_THROW is the odd one out, but it should be consistent with the others.
PY_THROW is a rare event, so this got overlooked. We should fix it before the next release of 3.12.
Fortunately it is very easy to fix.
Linked PRs
The callbacks for
RAISE,RERAISE,EXCEPTION_HANDLED,PY_UNWINDandSTOP_ITERATIONall take the exception as their third argument.PY_THROWis the odd one out, but it should be consistent with the others.PY_THROWis a rare event, so this got overlooked. We should fix it before the next release of 3.12.Fortunately it is very easy to fix.
Linked PRs
PY_THROWcallback functions. #107725PY_THROWcallback functions. (GH-107725) #107802