pyo3_ffi/cpython/
pyerrors.rs

1use crate::PyObject;
2#[cfg(not(any(PyPy, GraalPy)))]
3use crate::Py_ssize_t;
4
5#[repr(C)]
6#[derive(Debug)]
7pub struct PyBaseExceptionObject {
8    pub ob_base: PyObject,
9    #[cfg(not(PyPy))]
10    pub dict: *mut PyObject,
11    #[cfg(not(PyPy))]
12    pub args: *mut PyObject,
13    #[cfg(all(Py_3_11, not(PyPy)))]
14    pub notes: *mut PyObject,
15    #[cfg(not(PyPy))]
16    pub traceback: *mut PyObject,
17    #[cfg(not(PyPy))]
18    pub context: *mut PyObject,
19    #[cfg(not(PyPy))]
20    pub cause: *mut PyObject,
21    #[cfg(not(PyPy))]
22    pub suppress_context: char,
23}
24
25#[cfg(not(any(PyPy, GraalPy)))]
26#[repr(C)]
27#[derive(Debug)]
28pub struct PySyntaxErrorObject {
29    pub ob_base: PyObject,
30    pub dict: *mut PyObject,
31    pub args: *mut PyObject,
32    #[cfg(Py_3_11)]
33    pub notes: *mut PyObject,
34    pub traceback: *mut PyObject,
35    pub context: *mut PyObject,
36    pub cause: *mut PyObject,
37    pub suppress_context: char,
38
39    pub msg: *mut PyObject,
40    pub filename: *mut PyObject,
41    pub lineno: *mut PyObject,
42    pub offset: *mut PyObject,
43    #[cfg(Py_3_10)]
44    pub end_lineno: *mut PyObject,
45    #[cfg(Py_3_10)]
46    pub end_offset: *mut PyObject,
47    pub text: *mut PyObject,
48    pub print_file_and_line: *mut PyObject,
49    #[cfg(Py_3_14)]
50    pub metadata: *mut PyObject,
51}
52
53#[cfg(not(any(PyPy, GraalPy)))]
54#[repr(C)]
55#[derive(Debug)]
56pub struct PyImportErrorObject {
57    pub ob_base: PyObject,
58    pub dict: *mut PyObject,
59    pub args: *mut PyObject,
60    #[cfg(Py_3_11)]
61    pub notes: *mut PyObject,
62    pub traceback: *mut PyObject,
63    pub context: *mut PyObject,
64    pub cause: *mut PyObject,
65    pub suppress_context: char,
66
67    pub msg: *mut PyObject,
68    pub name: *mut PyObject,
69    pub path: *mut PyObject,
70    #[cfg(Py_3_12)]
71    pub name_from: *mut PyObject,
72}
73
74#[cfg(not(any(PyPy, GraalPy)))]
75#[repr(C)]
76#[derive(Debug)]
77pub struct PyUnicodeErrorObject {
78    pub ob_base: PyObject,
79    pub dict: *mut PyObject,
80    pub args: *mut PyObject,
81    #[cfg(Py_3_11)]
82    pub notes: *mut PyObject,
83    pub traceback: *mut PyObject,
84    pub context: *mut PyObject,
85    pub cause: *mut PyObject,
86    pub suppress_context: char,
87
88    pub encoding: *mut PyObject,
89    pub object: *mut PyObject,
90    pub start: Py_ssize_t,
91    pub end: Py_ssize_t,
92    pub reason: *mut PyObject,
93}
94
95#[cfg(not(any(PyPy, GraalPy)))]
96#[repr(C)]
97#[derive(Debug)]
98pub struct PySystemExitObject {
99    pub ob_base: PyObject,
100    pub dict: *mut PyObject,
101    pub args: *mut PyObject,
102    #[cfg(Py_3_11)]
103    pub notes: *mut PyObject,
104    pub traceback: *mut PyObject,
105    pub context: *mut PyObject,
106    pub cause: *mut PyObject,
107    pub suppress_context: char,
108
109    pub code: *mut PyObject,
110}
111
112#[cfg(not(any(PyPy, GraalPy)))]
113#[repr(C)]
114#[derive(Debug)]
115pub struct PyOSErrorObject {
116    pub ob_base: PyObject,
117    pub dict: *mut PyObject,
118    pub args: *mut PyObject,
119    #[cfg(Py_3_11)]
120    pub notes: *mut PyObject,
121    pub traceback: *mut PyObject,
122    pub context: *mut PyObject,
123    pub cause: *mut PyObject,
124    pub suppress_context: char,
125
126    pub myerrno: *mut PyObject,
127    pub strerror: *mut PyObject,
128    pub filename: *mut PyObject,
129    pub filename2: *mut PyObject,
130    #[cfg(windows)]
131    pub winerror: *mut PyObject,
132    pub written: Py_ssize_t,
133}
134
135#[repr(C)]
136#[derive(Debug)]
137pub struct PyStopIterationObject {
138    pub ob_base: PyObject,
139    #[cfg(not(PyPy))]
140    pub dict: *mut PyObject,
141    #[cfg(not(PyPy))]
142    pub args: *mut PyObject,
143    #[cfg(all(Py_3_11, not(PyPy)))]
144    pub notes: *mut PyObject,
145    #[cfg(not(PyPy))]
146    pub traceback: *mut PyObject,
147    #[cfg(not(PyPy))]
148    pub context: *mut PyObject,
149    #[cfg(not(PyPy))]
150    pub cause: *mut PyObject,
151    #[cfg(not(PyPy))]
152    pub suppress_context: char,
153
154    pub value: *mut PyObject,
155}
156
157// skipped _PyErr_ChainExceptions
158
159// skipped PyNameErrorObject
160// skipped PyAttributeErrorObject
161
162// skipped PyEnvironmentErrorObject
163// skipped PyWindowsErrorObject
164
165// skipped _PyErr_SetKeyError
166// skipped _PyErr_GetTopmostException
167// skipped _PyErr_GetExcInfo
168
169// skipped PyErr_SetFromErrnoWithUnicodeFilename
170
171// skipped _PyErr_FormatFromCause
172
173// skipped PyErr_SetFromWindowsErrWithUnicodeFilename
174// skipped PyErr_SetExcFromWindowsErrWithUnicodeFilename
175
176// skipped _PyErr_TrySetFromCause
177
178// skipped PySignal_SetWakeupFd
179// skipped _PyErr_CheckSignals
180
181// skipped PyErr_SyntaxLocationObject
182// skipped PyErr_RangedSyntaxLocationObject
183// skipped PyErr_ProgramTextObject
184
185// skipped _PyErr_ProgramDecodedTextObject
186// skipped _PyUnicodeTranslateError_Create
187// skipped _PyErr_WriteUnraisableMsg
188// skipped _Py_FatalErrorFunc
189// skipped _Py_FatalErrorFormat
190// skipped Py_FatalError