File indexing completed on 2025-11-19 09:50:54
0001
0002
0003 #ifndef Py_ERRORS_H
0004 #define Py_ERRORS_H
0005 #ifdef __cplusplus
0006 extern "C" {
0007 #endif
0008
0009 PyAPI_FUNC(void) PyErr_SetNone(PyObject *);
0010 PyAPI_FUNC(void) PyErr_SetObject(PyObject *, PyObject *);
0011 PyAPI_FUNC(void) PyErr_SetString(
0012 PyObject *exception,
0013 const char *string
0014 );
0015 PyAPI_FUNC(PyObject *) PyErr_Occurred(void);
0016 PyAPI_FUNC(void) PyErr_Clear(void);
0017 PyAPI_FUNC(void) PyErr_Fetch(PyObject **, PyObject **, PyObject **);
0018 PyAPI_FUNC(void) PyErr_Restore(PyObject *, PyObject *, PyObject *);
0019 PyAPI_FUNC(PyObject *) PyErr_GetRaisedException(void);
0020 PyAPI_FUNC(void) PyErr_SetRaisedException(PyObject *);
0021 #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030b0000
0022 PyAPI_FUNC(PyObject*) PyErr_GetHandledException(void);
0023 PyAPI_FUNC(void) PyErr_SetHandledException(PyObject *);
0024 #endif
0025 #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000
0026 PyAPI_FUNC(void) PyErr_GetExcInfo(PyObject **, PyObject **, PyObject **);
0027 PyAPI_FUNC(void) PyErr_SetExcInfo(PyObject *, PyObject *, PyObject *);
0028 #endif
0029
0030
0031
0032
0033
0034
0035 PyAPI_FUNC(void) _Py_NO_RETURN Py_FatalError(const char *message);
0036
0037
0038 PyAPI_FUNC(int) PyErr_GivenExceptionMatches(PyObject *, PyObject *);
0039 PyAPI_FUNC(int) PyErr_ExceptionMatches(PyObject *);
0040 PyAPI_FUNC(void) PyErr_NormalizeException(PyObject**, PyObject**, PyObject**);
0041
0042
0043 PyAPI_FUNC(int) PyException_SetTraceback(PyObject *, PyObject *);
0044 PyAPI_FUNC(PyObject *) PyException_GetTraceback(PyObject *);
0045
0046
0047 PyAPI_FUNC(PyObject *) PyException_GetCause(PyObject *);
0048 PyAPI_FUNC(void) PyException_SetCause(PyObject *, PyObject *);
0049
0050
0051 PyAPI_FUNC(PyObject *) PyException_GetContext(PyObject *);
0052 PyAPI_FUNC(void) PyException_SetContext(PyObject *, PyObject *);
0053
0054
0055 PyAPI_FUNC(PyObject *) PyException_GetArgs(PyObject *);
0056 PyAPI_FUNC(void) PyException_SetArgs(PyObject *, PyObject *);
0057
0058
0059
0060 #define PyExceptionClass_Check(x) \
0061 (PyType_Check((x)) && \
0062 PyType_FastSubclass((PyTypeObject*)(x), Py_TPFLAGS_BASE_EXC_SUBCLASS))
0063
0064 #define PyExceptionInstance_Check(x) \
0065 PyType_FastSubclass(Py_TYPE(x), Py_TPFLAGS_BASE_EXC_SUBCLASS)
0066
0067 PyAPI_FUNC(const char *) PyExceptionClass_Name(PyObject *);
0068
0069 #define PyExceptionInstance_Class(x) _PyObject_CAST(Py_TYPE(x))
0070
0071 #define _PyBaseExceptionGroup_Check(x) \
0072 PyObject_TypeCheck((x), (PyTypeObject *)PyExc_BaseExceptionGroup)
0073
0074
0075
0076 PyAPI_DATA(PyObject *) PyExc_BaseException;
0077 PyAPI_DATA(PyObject *) PyExc_Exception;
0078 PyAPI_DATA(PyObject *) PyExc_BaseExceptionGroup;
0079 #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000
0080 PyAPI_DATA(PyObject *) PyExc_StopAsyncIteration;
0081 #endif
0082 PyAPI_DATA(PyObject *) PyExc_StopIteration;
0083 PyAPI_DATA(PyObject *) PyExc_GeneratorExit;
0084 PyAPI_DATA(PyObject *) PyExc_ArithmeticError;
0085 PyAPI_DATA(PyObject *) PyExc_LookupError;
0086
0087 PyAPI_DATA(PyObject *) PyExc_AssertionError;
0088 PyAPI_DATA(PyObject *) PyExc_AttributeError;
0089 PyAPI_DATA(PyObject *) PyExc_BufferError;
0090 PyAPI_DATA(PyObject *) PyExc_EOFError;
0091 PyAPI_DATA(PyObject *) PyExc_FloatingPointError;
0092 PyAPI_DATA(PyObject *) PyExc_OSError;
0093 PyAPI_DATA(PyObject *) PyExc_ImportError;
0094 #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03060000
0095 PyAPI_DATA(PyObject *) PyExc_ModuleNotFoundError;
0096 #endif
0097 PyAPI_DATA(PyObject *) PyExc_IndexError;
0098 PyAPI_DATA(PyObject *) PyExc_KeyError;
0099 PyAPI_DATA(PyObject *) PyExc_KeyboardInterrupt;
0100 PyAPI_DATA(PyObject *) PyExc_MemoryError;
0101 PyAPI_DATA(PyObject *) PyExc_NameError;
0102 PyAPI_DATA(PyObject *) PyExc_OverflowError;
0103 PyAPI_DATA(PyObject *) PyExc_RuntimeError;
0104 #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000
0105 PyAPI_DATA(PyObject *) PyExc_RecursionError;
0106 #endif
0107 PyAPI_DATA(PyObject *) PyExc_NotImplementedError;
0108 PyAPI_DATA(PyObject *) PyExc_SyntaxError;
0109 PyAPI_DATA(PyObject *) PyExc_IndentationError;
0110 PyAPI_DATA(PyObject *) PyExc_TabError;
0111 PyAPI_DATA(PyObject *) PyExc_ReferenceError;
0112 PyAPI_DATA(PyObject *) PyExc_SystemError;
0113 PyAPI_DATA(PyObject *) PyExc_SystemExit;
0114 PyAPI_DATA(PyObject *) PyExc_TypeError;
0115 PyAPI_DATA(PyObject *) PyExc_UnboundLocalError;
0116 PyAPI_DATA(PyObject *) PyExc_UnicodeError;
0117 PyAPI_DATA(PyObject *) PyExc_UnicodeEncodeError;
0118 PyAPI_DATA(PyObject *) PyExc_UnicodeDecodeError;
0119 PyAPI_DATA(PyObject *) PyExc_UnicodeTranslateError;
0120 PyAPI_DATA(PyObject *) PyExc_ValueError;
0121 PyAPI_DATA(PyObject *) PyExc_ZeroDivisionError;
0122
0123 #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000
0124 PyAPI_DATA(PyObject *) PyExc_BlockingIOError;
0125 PyAPI_DATA(PyObject *) PyExc_BrokenPipeError;
0126 PyAPI_DATA(PyObject *) PyExc_ChildProcessError;
0127 PyAPI_DATA(PyObject *) PyExc_ConnectionError;
0128 PyAPI_DATA(PyObject *) PyExc_ConnectionAbortedError;
0129 PyAPI_DATA(PyObject *) PyExc_ConnectionRefusedError;
0130 PyAPI_DATA(PyObject *) PyExc_ConnectionResetError;
0131 PyAPI_DATA(PyObject *) PyExc_FileExistsError;
0132 PyAPI_DATA(PyObject *) PyExc_FileNotFoundError;
0133 PyAPI_DATA(PyObject *) PyExc_InterruptedError;
0134 PyAPI_DATA(PyObject *) PyExc_IsADirectoryError;
0135 PyAPI_DATA(PyObject *) PyExc_NotADirectoryError;
0136 PyAPI_DATA(PyObject *) PyExc_PermissionError;
0137 PyAPI_DATA(PyObject *) PyExc_ProcessLookupError;
0138 PyAPI_DATA(PyObject *) PyExc_TimeoutError;
0139 #endif
0140
0141
0142
0143 PyAPI_DATA(PyObject *) PyExc_EnvironmentError;
0144 PyAPI_DATA(PyObject *) PyExc_IOError;
0145 #ifdef MS_WINDOWS
0146 PyAPI_DATA(PyObject *) PyExc_WindowsError;
0147 #endif
0148
0149
0150 PyAPI_DATA(PyObject *) PyExc_Warning;
0151 PyAPI_DATA(PyObject *) PyExc_UserWarning;
0152 PyAPI_DATA(PyObject *) PyExc_DeprecationWarning;
0153 PyAPI_DATA(PyObject *) PyExc_PendingDeprecationWarning;
0154 PyAPI_DATA(PyObject *) PyExc_SyntaxWarning;
0155 PyAPI_DATA(PyObject *) PyExc_RuntimeWarning;
0156 PyAPI_DATA(PyObject *) PyExc_FutureWarning;
0157 PyAPI_DATA(PyObject *) PyExc_ImportWarning;
0158 PyAPI_DATA(PyObject *) PyExc_UnicodeWarning;
0159 PyAPI_DATA(PyObject *) PyExc_BytesWarning;
0160 PyAPI_DATA(PyObject *) PyExc_EncodingWarning;
0161 PyAPI_DATA(PyObject *) PyExc_ResourceWarning;
0162
0163
0164
0165
0166 PyAPI_FUNC(int) PyErr_BadArgument(void);
0167 PyAPI_FUNC(PyObject *) PyErr_NoMemory(void);
0168 PyAPI_FUNC(PyObject *) PyErr_SetFromErrno(PyObject *);
0169 PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilenameObject(
0170 PyObject *, PyObject *);
0171 #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03040000
0172 PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilenameObjects(
0173 PyObject *, PyObject *, PyObject *);
0174 #endif
0175 PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilename(
0176 PyObject *exc,
0177 const char *filename
0178 );
0179
0180 PyAPI_FUNC(PyObject *) PyErr_Format(
0181 PyObject *exception,
0182 const char *format,
0183 ...
0184 );
0185 #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000
0186 PyAPI_FUNC(PyObject *) PyErr_FormatV(
0187 PyObject *exception,
0188 const char *format,
0189 va_list vargs);
0190 #endif
0191
0192 #ifdef MS_WINDOWS
0193 PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErrWithFilename(
0194 int ierr,
0195 const char *filename
0196 );
0197 PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErr(int);
0198 PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithFilenameObject(
0199 PyObject *,int, PyObject *);
0200 #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03040000
0201 PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithFilenameObjects(
0202 PyObject *,int, PyObject *, PyObject *);
0203 #endif
0204 PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithFilename(
0205 PyObject *exc,
0206 int ierr,
0207 const char *filename
0208 );
0209 PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErr(PyObject *, int);
0210 #endif
0211
0212 #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03060000
0213 PyAPI_FUNC(PyObject *) PyErr_SetImportErrorSubclass(PyObject *, PyObject *,
0214 PyObject *, PyObject *);
0215 #endif
0216 #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000
0217 PyAPI_FUNC(PyObject *) PyErr_SetImportError(PyObject *, PyObject *,
0218 PyObject *);
0219 #endif
0220
0221
0222 PyAPI_FUNC(void) PyErr_BadInternalCall(void);
0223 PyAPI_FUNC(void) _PyErr_BadInternalCall(const char *filename, int lineno);
0224
0225
0226 #define PyErr_BadInternalCall() _PyErr_BadInternalCall(__FILE__, __LINE__)
0227
0228
0229 PyAPI_FUNC(PyObject *) PyErr_NewException(
0230 const char *name, PyObject *base, PyObject *dict);
0231 PyAPI_FUNC(PyObject *) PyErr_NewExceptionWithDoc(
0232 const char *name, const char *doc, PyObject *base, PyObject *dict);
0233 PyAPI_FUNC(void) PyErr_WriteUnraisable(PyObject *);
0234
0235
0236
0237 PyAPI_FUNC(int) PyErr_CheckSignals(void);
0238 PyAPI_FUNC(void) PyErr_SetInterrupt(void);
0239 #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030A0000
0240 PyAPI_FUNC(int) PyErr_SetInterruptEx(int signum);
0241 #endif
0242
0243
0244 PyAPI_FUNC(void) PyErr_SyntaxLocation(
0245 const char *filename,
0246 int lineno);
0247 PyAPI_FUNC(void) PyErr_SyntaxLocationEx(
0248 const char *filename,
0249 int lineno,
0250 int col_offset);
0251 PyAPI_FUNC(PyObject *) PyErr_ProgramText(
0252 const char *filename,
0253 int lineno);
0254
0255
0256
0257
0258
0259 PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_Create(
0260 const char *encoding,
0261 const char *object,
0262 Py_ssize_t length,
0263 Py_ssize_t start,
0264 Py_ssize_t end,
0265 const char *reason
0266 );
0267
0268
0269 PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetEncoding(PyObject *);
0270 PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetEncoding(PyObject *);
0271
0272
0273 PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetObject(PyObject *);
0274 PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetObject(PyObject *);
0275 PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_GetObject(PyObject *);
0276
0277
0278
0279 PyAPI_FUNC(int) PyUnicodeEncodeError_GetStart(PyObject *, Py_ssize_t *);
0280 PyAPI_FUNC(int) PyUnicodeDecodeError_GetStart(PyObject *, Py_ssize_t *);
0281 PyAPI_FUNC(int) PyUnicodeTranslateError_GetStart(PyObject *, Py_ssize_t *);
0282
0283
0284
0285 PyAPI_FUNC(int) PyUnicodeEncodeError_SetStart(PyObject *, Py_ssize_t);
0286 PyAPI_FUNC(int) PyUnicodeDecodeError_SetStart(PyObject *, Py_ssize_t);
0287 PyAPI_FUNC(int) PyUnicodeTranslateError_SetStart(PyObject *, Py_ssize_t);
0288
0289
0290
0291 PyAPI_FUNC(int) PyUnicodeEncodeError_GetEnd(PyObject *, Py_ssize_t *);
0292 PyAPI_FUNC(int) PyUnicodeDecodeError_GetEnd(PyObject *, Py_ssize_t *);
0293 PyAPI_FUNC(int) PyUnicodeTranslateError_GetEnd(PyObject *, Py_ssize_t *);
0294
0295
0296
0297 PyAPI_FUNC(int) PyUnicodeEncodeError_SetEnd(PyObject *, Py_ssize_t);
0298 PyAPI_FUNC(int) PyUnicodeDecodeError_SetEnd(PyObject *, Py_ssize_t);
0299 PyAPI_FUNC(int) PyUnicodeTranslateError_SetEnd(PyObject *, Py_ssize_t);
0300
0301
0302 PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetReason(PyObject *);
0303 PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetReason(PyObject *);
0304 PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_GetReason(PyObject *);
0305
0306
0307
0308 PyAPI_FUNC(int) PyUnicodeEncodeError_SetReason(
0309 PyObject *exc,
0310 const char *reason
0311 );
0312 PyAPI_FUNC(int) PyUnicodeDecodeError_SetReason(
0313 PyObject *exc,
0314 const char *reason
0315 );
0316 PyAPI_FUNC(int) PyUnicodeTranslateError_SetReason(
0317 PyObject *exc,
0318 const char *reason
0319 );
0320
0321 PyAPI_FUNC(int) PyOS_snprintf(char *str, size_t size, const char *format, ...)
0322 Py_GCC_ATTRIBUTE((format(printf, 3, 4)));
0323 PyAPI_FUNC(int) PyOS_vsnprintf(char *str, size_t size, const char *format, va_list va)
0324 Py_GCC_ATTRIBUTE((format(printf, 3, 0)));
0325
0326 #ifndef Py_LIMITED_API
0327 # define Py_CPYTHON_ERRORS_H
0328 # include "cpython/pyerrors.h"
0329 # undef Py_CPYTHON_ERRORS_H
0330 #endif
0331
0332 #ifdef __cplusplus
0333 }
0334 #endif
0335 #endif