29 #ifdef Py_USING_UNICODE
40 } PyUnicodeErrorObject;
71 } PyWindowsErrorObject;
77 PyAPI_FUNC(
void) PyErr_SetObject(PyObject *, PyObject *);
78 PyAPI_FUNC(
void) PyErr_SetString(PyObject *, const
char *);
81 PyAPI_FUNC(
void) PyErr_Fetch(PyObject **, PyObject **, PyObject **);
82 PyAPI_FUNC(
void) PyErr_Restore(PyObject *, PyObject *, PyObject *);
85 #define _PyErr_OCCURRED() PyErr_Occurred()
87 #define _PyErr_OCCURRED() (_PyThreadState_Current->curexc_type)
91 PyAPI_FUNC(
int) PyErr_GivenExceptionMatches(PyObject *, PyObject *);
92 PyAPI_FUNC(
int) PyErr_ExceptionMatches(PyObject *);
93 PyAPI_FUNC(
void) PyErr_NormalizeException(PyObject**, PyObject**, PyObject**);
94 PyAPI_FUNC(
void) _PyErr_ReplaceException(PyObject *, PyObject *, PyObject *);
98 #define PyExceptionClass_Check(x) \
99 (PyClass_Check((x)) || (PyType_Check((x)) && \
100 PyType_FastSubclass((PyTypeObject*)(x), Py_TPFLAGS_BASE_EXC_SUBCLASS)))
102 #define PyExceptionInstance_Check(x) \
103 (PyInstance_Check((x)) || \
104 PyType_FastSubclass((x)->ob_type, Py_TPFLAGS_BASE_EXC_SUBCLASS))
106 #define PyExceptionClass_Name(x) \
107 (PyClass_Check((x)) \
108 ? PyString_AS_STRING(((PyClassObject*)(x))->cl_name) \
109 : (char *)(((PyTypeObject*)(x))->tp_name))
111 #define PyExceptionInstance_Class(x) \
112 ((PyInstance_Check((x)) \
113 ? (PyObject*)((PyInstanceObject*)(x))->in_class \
114 : (PyObject*)((x)->ob_type)))
130 PyAPI_DATA(PyObject *) PyExc_FloatingPointError;
131 PyAPI_DATA(PyObject *) PyExc_EnvironmentError;
137 PyAPI_DATA(PyObject *) PyExc_KeyboardInterrupt;
142 PyAPI_DATA(PyObject *) PyExc_NotImplementedError;
144 PyAPI_DATA(PyObject *) PyExc_IndentationError;
150 PyAPI_DATA(PyObject *) PyExc_UnboundLocalError;
152 PyAPI_DATA(PyObject *) PyExc_UnicodeEncodeError;
153 PyAPI_DATA(PyObject *) PyExc_UnicodeDecodeError;
154 PyAPI_DATA(PyObject *) PyExc_UnicodeTranslateError;
156 PyAPI_DATA(PyObject *) PyExc_ZeroDivisionError;
167 PyAPI_DATA(PyObject *) PyExc_RecursionErrorInst;
172 PyAPI_DATA(PyObject *) PyExc_DeprecationWarning;
173 PyAPI_DATA(PyObject *) PyExc_PendingDeprecationWarning;
186 PyAPI_FUNC(PyObject *) PyErr_SetFromErrno(PyObject *);
187 PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilenameObject(
188 PyObject *, PyObject *);
189 PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilename(
190 PyObject *, const
char *);
192 PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithUnicodeFilename(
193 PyObject *, const Py_UNICODE *);
196 PyAPI_FUNC(PyObject *) PyErr_Format(PyObject *, const
char *, ...)
200 PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErrWithFilenameObject(
202 PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErrWithFilename(
204 PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErrWithUnicodeFilename(
205 int, const Py_UNICODE *);
206 PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErr(
int);
207 PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithFilenameObject(
208 PyObject *,
int, PyObject *);
209 PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithFilename(
210 PyObject *,
int, const
char *);
211 PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithUnicodeFilename(
212 PyObject *,
int, const Py_UNICODE *);
213 PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErr(PyObject *,
int);
221 #define PyErr_BadInternalCall() _PyErr_BadInternalCall(__FILE__, __LINE__)
226 PyAPI_FUNC(PyObject *) PyErr_NewExceptionWithDoc(
227 char *name,
char *
doc, PyObject *base, PyObject *dict);
228 PyAPI_FUNC(
void) PyErr_WriteUnraisable(PyObject *);
239 PyAPI_FUNC(PyObject *) PyErr_ProgramText(const
char *,
int);
241 #ifdef Py_USING_UNICODE
246 PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_Create(
247 const
char *, const
char *,
Py_ssize_t, Py_ssize_t, Py_ssize_t, const
char *);
250 PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_Create(
251 const
char *, const Py_UNICODE *, Py_ssize_t, Py_ssize_t, Py_ssize_t, const
char *);
254 PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_Create(
255 const Py_UNICODE *, Py_ssize_t, Py_ssize_t, Py_ssize_t, const
char *);
258 PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetEncoding(PyObject *);
259 PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetEncoding(PyObject *);
262 PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetObject(PyObject *);
263 PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetObject(PyObject *);
264 PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_GetObject(PyObject *);
268 PyAPI_FUNC(
int) PyUnicodeEncodeError_GetStart(PyObject *, Py_ssize_t *);
269 PyAPI_FUNC(
int) PyUnicodeDecodeError_GetStart(PyObject *, Py_ssize_t *);
270 PyAPI_FUNC(
int) PyUnicodeTranslateError_GetStart(PyObject *, Py_ssize_t *);
274 PyAPI_FUNC(
int) PyUnicodeEncodeError_SetStart(PyObject *, Py_ssize_t);
275 PyAPI_FUNC(
int) PyUnicodeDecodeError_SetStart(PyObject *, Py_ssize_t);
276 PyAPI_FUNC(
int) PyUnicodeTranslateError_SetStart(PyObject *, Py_ssize_t);
280 PyAPI_FUNC(
int) PyUnicodeEncodeError_GetEnd(PyObject *, Py_ssize_t *);
281 PyAPI_FUNC(
int) PyUnicodeDecodeError_GetEnd(PyObject *, Py_ssize_t *);
282 PyAPI_FUNC(
int) PyUnicodeTranslateError_GetEnd(PyObject *, Py_ssize_t *);
286 PyAPI_FUNC(
int) PyUnicodeEncodeError_SetEnd(PyObject *, Py_ssize_t);
287 PyAPI_FUNC(
int) PyUnicodeDecodeError_SetEnd(PyObject *, Py_ssize_t);
288 PyAPI_FUNC(
int) PyUnicodeTranslateError_SetEnd(PyObject *, Py_ssize_t);
291 PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetReason(PyObject *);
292 PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetReason(PyObject *);
293 PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_GetReason(PyObject *);
297 PyAPI_FUNC(
int) PyUnicodeEncodeError_SetReason(
298 PyObject *, const
char *);
299 PyAPI_FUNC(
int) PyUnicodeDecodeError_SetReason(
300 PyObject *, const
char *);
301 PyAPI_FUNC(
int) PyUnicodeTranslateError_SetReason(
302 PyObject *, const
char *);
314 #if defined(MS_WIN32) && !defined(HAVE_SNPRINTF)
315 # define HAVE_SNPRINTF
316 # define snprintf _snprintf
317 # define vsnprintf _vsnprintf
323 PyAPI_FUNC(
int) PyOS_vsnprintf(
char *str,
size_t size, const
char *format,
va_list va)
PyAPI_DATA(PyObject *) PyExc_BaseException
PyObject * print_file_and_line
size_t const char * format
#define PyErr_BadInternalCall()
PyObject const char const char Py_GCC_ATTRIBUTE((format(printf, 2, 3)))
PyObject_HEAD PyObject * dict
PyObject_HEAD PyObject * dict
char char char char char * name
Py_ssize_t Py_ssize_t * start
PyAPI_FUNC(void) PyErr_SetNone(PyObject *)
PyObject_HEAD PyObject * dict
PyObject_HEAD PyObject * dict
int PySignal_SetWakeupFd(int fd)