Lines Matching refs:exc_info
70 _PyErr_StackItem *exc_info = tstate->exc_info;
71 assert(exc_info);
73 while ((exc_info->exc_value == NULL || exc_info->exc_value == Py_None) &&
74 exc_info->previous_item != NULL)
76 exc_info = exc_info->previous_item;
78 return exc_info;
491 _PyErr_StackItem *exc_info = _PyErr_GetTopmostException(tstate);
493 *p_type = get_exc_type(exc_info->exc_value);
494 *p_value = exc_info->exc_value;
495 *p_traceback = get_exc_traceback(exc_info->exc_value);
505 _PyErr_StackItem *exc_info = _PyErr_GetTopmostException(tstate);
506 PyObject *exc = exc_info->exc_value;
523 Py_XSETREF(tstate->exc_info->exc_value, Py_XNewRef(exc));
612 If the provided exc_info is NULL, then the current Python thread state's
613 exc_info will be used for the context instead.
619 _PyErr_ChainStackItem(_PyErr_StackItem *exc_info)
625 if (exc_info == NULL) {
627 exc_info = tstate->exc_info;
632 if (exc_info->exc_value == NULL || exc_info->exc_value == Py_None) {
638 /* Temporarily set the thread state's exc_info since this is what
640 saved_exc_info = tstate->exc_info;
641 tstate->exc_info = exc_info;
654 tstate->exc_info = saved_exc_info;