Spaces:
Sleeping
Sleeping
/* Error objects */ | |
/* PyException_HEAD defines the initial segment of every exception class. */ | |
typedef struct { | |
PyException_HEAD | |
} PyBaseExceptionObject; | |
typedef struct { | |
PyException_HEAD | |
PyObject *msg; | |
PyObject *excs; | |
} PyBaseExceptionGroupObject; | |
typedef struct { | |
PyException_HEAD | |
PyObject *msg; | |
PyObject *filename; | |
PyObject *lineno; | |
PyObject *offset; | |
PyObject *end_lineno; | |
PyObject *end_offset; | |
PyObject *text; | |
PyObject *print_file_and_line; | |
} PySyntaxErrorObject; | |
typedef struct { | |
PyException_HEAD | |
PyObject *msg; | |
PyObject *name; | |
PyObject *path; | |
} PyImportErrorObject; | |
typedef struct { | |
PyException_HEAD | |
PyObject *encoding; | |
PyObject *object; | |
Py_ssize_t start; | |
Py_ssize_t end; | |
PyObject *reason; | |
} PyUnicodeErrorObject; | |
typedef struct { | |
PyException_HEAD | |
PyObject *code; | |
} PySystemExitObject; | |
typedef struct { | |
PyException_HEAD | |
PyObject *myerrno; | |
PyObject *strerror; | |
PyObject *filename; | |
PyObject *filename2; | |
PyObject *winerror; | |
Py_ssize_t written; /* only for BlockingIOError, -1 otherwise */ | |
} PyOSErrorObject; | |
typedef struct { | |
PyException_HEAD | |
PyObject *value; | |
} PyStopIterationObject; | |
typedef struct { | |
PyException_HEAD | |
PyObject *name; | |
} PyNameErrorObject; | |
typedef struct { | |
PyException_HEAD | |
PyObject *obj; | |
PyObject *name; | |
} PyAttributeErrorObject; | |
/* Compatibility typedefs */ | |
typedef PyOSErrorObject PyEnvironmentErrorObject; | |
typedef PyOSErrorObject PyWindowsErrorObject; | |
/* Error handling definitions */ | |
PyAPI_FUNC(void) _PyErr_SetKeyError(PyObject *); | |
PyAPI_FUNC(_PyErr_StackItem*) _PyErr_GetTopmostException(PyThreadState *tstate); | |
PyAPI_FUNC(PyObject*) _PyErr_GetHandledException(PyThreadState *); | |
PyAPI_FUNC(void) _PyErr_SetHandledException(PyThreadState *, PyObject *); | |
PyAPI_FUNC(void) _PyErr_GetExcInfo(PyThreadState *, PyObject **, PyObject **, PyObject **); | |
/* Context manipulation (PEP 3134) */ | |
PyAPI_FUNC(void) _PyErr_ChainExceptions(PyObject *, PyObject *, PyObject *); | |
/* Like PyErr_Format(), but saves current exception as __context__ and | |
__cause__. | |
*/ | |
PyAPI_FUNC(PyObject *) _PyErr_FormatFromCause( | |
PyObject *exception, | |
const char *format, /* ASCII-encoded string */ | |
... | |
); | |
/* In exceptions.c */ | |
/* Helper that attempts to replace the current exception with one of the | |
* same type but with a prefix added to the exception text. The resulting | |
* exception description looks like: | |
* | |
* prefix (exc_type: original_exc_str) | |
* | |
* Only some exceptions can be safely replaced. If the function determines | |
* it isn't safe to perform the replacement, it will leave the original | |
* unmodified exception in place. | |
* | |
* Returns a borrowed reference to the new exception (if any), NULL if the | |
* existing exception was left in place. | |
*/ | |
PyAPI_FUNC(PyObject *) _PyErr_TrySetFromCause( | |
const char *prefix_format, /* ASCII-encoded string */ | |
... | |
); | |
/* In signalmodule.c */ | |
int PySignal_SetWakeupFd(int fd); | |
PyAPI_FUNC(int) _PyErr_CheckSignals(void); | |
/* Support for adding program text to SyntaxErrors */ | |
PyAPI_FUNC(void) PyErr_SyntaxLocationObject( | |
PyObject *filename, | |
int lineno, | |
int col_offset); | |
PyAPI_FUNC(void) PyErr_RangedSyntaxLocationObject( | |
PyObject *filename, | |
int lineno, | |
int col_offset, | |
int end_lineno, | |
int end_col_offset); | |
PyAPI_FUNC(PyObject *) PyErr_ProgramTextObject( | |
PyObject *filename, | |
int lineno); | |
PyAPI_FUNC(PyObject *) _PyErr_ProgramDecodedTextObject( | |
PyObject *filename, | |
int lineno, | |
const char* encoding); | |
PyAPI_FUNC(PyObject *) _PyUnicodeTranslateError_Create( | |
PyObject *object, | |
Py_ssize_t start, | |
Py_ssize_t end, | |
const char *reason /* UTF-8 encoded string */ | |
); | |
PyAPI_FUNC(void) _PyErr_WriteUnraisableMsg( | |
const char *err_msg, | |
PyObject *obj); | |
PyAPI_FUNC(void) _Py_NO_RETURN _Py_FatalErrorFunc( | |
const char *func, | |
const char *message); | |
PyAPI_FUNC(void) _Py_NO_RETURN _Py_FatalErrorFormat( | |
const char *func, | |
const char *format, | |
...); | |