PyFrameObject.f_exc_type

If an exception is raised in this frame, the next three are used to record the exception info (if any) originally in the thread state. See comments before set_exc_info() -- it's not obvious. Invariant: if _type is NULL, then so are _value and _traceback. Desired invariant: all three are NULL, or all three are non-NULL. That one isn't currently true, but "should be".

struct PyFrameObject
version(!Python_3_7_Or_Later)
PyObject* f_exc_type;

Meta