| | #ifndef Py_INTERNAL_PYERRORS_H |
| | #define Py_INTERNAL_PYERRORS_H |
| | #ifdef __cplusplus |
| | extern "C" { |
| | #endif |
| |
|
| | #ifndef Py_BUILD_CORE |
| | # error "this header requires Py_BUILD_CORE define" |
| | #endif |
| |
|
| | static inline PyObject* _PyErr_Occurred(PyThreadState *tstate) |
| | { |
| | assert(tstate != NULL); |
| | return tstate->curexc_type; |
| | } |
| |
|
| | static inline void _PyErr_ClearExcState(_PyErr_StackItem *exc_state) |
| | { |
| | PyObject *t, *v, *tb; |
| | t = exc_state->exc_type; |
| | v = exc_state->exc_value; |
| | tb = exc_state->exc_traceback; |
| | exc_state->exc_type = NULL; |
| | exc_state->exc_value = NULL; |
| | exc_state->exc_traceback = NULL; |
| | Py_XDECREF(t); |
| | Py_XDECREF(v); |
| | Py_XDECREF(tb); |
| | } |
| |
|
| |
|
| | PyAPI_FUNC(void) _PyErr_Fetch( |
| | PyThreadState *tstate, |
| | PyObject **type, |
| | PyObject **value, |
| | PyObject **traceback); |
| |
|
| | PyAPI_FUNC(int) _PyErr_ExceptionMatches( |
| | PyThreadState *tstate, |
| | PyObject *exc); |
| |
|
| | PyAPI_FUNC(void) _PyErr_Restore( |
| | PyThreadState *tstate, |
| | PyObject *type, |
| | PyObject *value, |
| | PyObject *traceback); |
| |
|
| | PyAPI_FUNC(void) _PyErr_SetObject( |
| | PyThreadState *tstate, |
| | PyObject *type, |
| | PyObject *value); |
| |
|
| | PyAPI_FUNC(void) _PyErr_ChainStackItem( |
| | _PyErr_StackItem *exc_info); |
| |
|
| | PyAPI_FUNC(void) _PyErr_Clear(PyThreadState *tstate); |
| |
|
| | PyAPI_FUNC(void) _PyErr_SetNone(PyThreadState *tstate, PyObject *exception); |
| |
|
| | PyAPI_FUNC(PyObject *) _PyErr_NoMemory(PyThreadState *tstate); |
| |
|
| | PyAPI_FUNC(void) _PyErr_SetString( |
| | PyThreadState *tstate, |
| | PyObject *exception, |
| | const char *string); |
| |
|
| | PyAPI_FUNC(PyObject *) _PyErr_Format( |
| | PyThreadState *tstate, |
| | PyObject *exception, |
| | const char *format, |
| | ...); |
| |
|
| | PyAPI_FUNC(void) _PyErr_NormalizeException( |
| | PyThreadState *tstate, |
| | PyObject **exc, |
| | PyObject **val, |
| | PyObject **tb); |
| |
|
| | PyAPI_FUNC(PyObject *) _PyErr_FormatFromCauseTstate( |
| | PyThreadState *tstate, |
| | PyObject *exception, |
| | const char *format, |
| | ...); |
| |
|
| | PyAPI_FUNC(int) _PyErr_CheckSignalsTstate(PyThreadState *tstate); |
| |
|
| | #ifdef __cplusplus |
| | } |
| | #endif |
| | #endif |
| |
|