Coverage Report

Created: 2026-10-17 06:15

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/cpython/Objects/clinic/exceptions.c.h
Line
Count
Source
1
/*[clinic input]
2
preserve
3
[clinic start generated code]*/
4
5
#include "pycore_critical_section.h"// Py_BEGIN_CRITICAL_SECTION()
6
#include "pycore_modsupport.h"    // _PyArg_BadArgument()
7
8
PyDoc_STRVAR(BaseException___reduce____doc__,
9
"__reduce__($self, /)\n"
10
"--\n"
11
"\n");
12
13
#define BASEEXCEPTION___REDUCE___METHODDEF    \
14
    {"__reduce__", (PyCFunction)BaseException___reduce__, METH_NOARGS, BaseException___reduce____doc__},
15
16
static PyObject *
17
BaseException___reduce___impl(PyBaseExceptionObject *self);
18
19
static PyObject *
20
BaseException___reduce__(PyObject *self, PyObject *Py_UNUSED(ignored))
21
0
{
22
0
    PyObject *return_value = NULL;
23
24
0
    Py_BEGIN_CRITICAL_SECTION(self);
25
0
    return_value = BaseException___reduce___impl((PyBaseExceptionObject *)self);
26
0
    Py_END_CRITICAL_SECTION();
27
28
0
    return return_value;
29
0
}
30
31
PyDoc_STRVAR(BaseException___setstate____doc__,
32
"__setstate__($self, state, /)\n"
33
"--\n"
34
"\n");
35
36
#define BASEEXCEPTION___SETSTATE___METHODDEF    \
37
    {"__setstate__", (PyCFunction)BaseException___setstate__, METH_O, BaseException___setstate____doc__},
38
39
static PyObject *
40
BaseException___setstate___impl(PyBaseExceptionObject *self, PyObject *state);
41
42
static PyObject *
43
BaseException___setstate__(PyObject *self, PyObject *state)
44
0
{
45
0
    PyObject *return_value = NULL;
46
47
0
    Py_BEGIN_CRITICAL_SECTION(state);
48
0
    return_value = BaseException___setstate___impl((PyBaseExceptionObject *)self, state);
49
0
    Py_END_CRITICAL_SECTION();
50
51
0
    return return_value;
52
0
}
53
54
PyDoc_STRVAR(BaseException_with_traceback__doc__,
55
"with_traceback($self, tb, /)\n"
56
"--\n"
57
"\n"
58
"Set self.__traceback__ to tb and return self.");
59
60
#define BASEEXCEPTION_WITH_TRACEBACK_METHODDEF    \
61
    {"with_traceback", (PyCFunction)BaseException_with_traceback, METH_O, BaseException_with_traceback__doc__},
62
63
static PyObject *
64
BaseException_with_traceback_impl(PyBaseExceptionObject *self, PyObject *tb);
65
66
static PyObject *
67
BaseException_with_traceback(PyObject *self, PyObject *tb)
68
0
{
69
0
    PyObject *return_value = NULL;
70
71
0
    Py_BEGIN_CRITICAL_SECTION(self);
72
0
    return_value = BaseException_with_traceback_impl((PyBaseExceptionObject *)self, tb);
73
0
    Py_END_CRITICAL_SECTION();
74
75
0
    return return_value;
76
0
}
77
78
PyDoc_STRVAR(BaseException_add_note__doc__,
79
"add_note($self, note, /)\n"
80
"--\n"
81
"\n"
82
"Add a note to the exception");
83
84
#define BASEEXCEPTION_ADD_NOTE_METHODDEF    \
85
    {"add_note", (PyCFunction)BaseException_add_note, METH_O, BaseException_add_note__doc__},
86
87
static PyObject *
88
BaseException_add_note_impl(PyBaseExceptionObject *self, PyObject *note);
89
90
static PyObject *
91
BaseException_add_note(PyObject *self, PyObject *arg)
92
45.2k
{
93
45.2k
    PyObject *return_value = NULL;
94
45.2k
    PyObject *note;
95
96
45.2k
    if (!PyUnicode_Check(arg)) {
97
0
        _PyArg_BadArgument("add_note", "argument", "str", arg);
98
0
        goto exit;
99
0
    }
100
45.2k
    note = arg;
101
45.2k
    Py_BEGIN_CRITICAL_SECTION(self);
102
45.2k
    return_value = BaseException_add_note_impl((PyBaseExceptionObject *)self, note);
103
45.2k
    Py_END_CRITICAL_SECTION();
104
105
45.2k
exit:
106
45.2k
    return return_value;
107
45.2k
}
108
109
static PyObject *
110
BaseException_args_get_impl(PyBaseExceptionObject *self);
111
112
static PyObject *
113
BaseException_args_get(PyObject *self, void *Py_UNUSED(context))
114
0
{
115
0
    PyObject *return_value = NULL;
116
117
0
    Py_BEGIN_CRITICAL_SECTION(self);
118
0
    return_value = BaseException_args_get_impl((PyBaseExceptionObject *)self);
119
0
    Py_END_CRITICAL_SECTION();
120
121
0
    return return_value;
122
0
}
123
124
static int
125
BaseException_args_set_impl(PyBaseExceptionObject *self, PyObject *value);
126
127
static int
128
BaseException_args_set(PyObject *self, PyObject *arg, void *Py_UNUSED(context))
129
3.08M
{
130
3.08M
    int return_value = -1;
131
3.08M
    PyObject *value;
132
133
3.08M
    if (arg == NULL) {
134
0
        PyErr_Format(PyExc_AttributeError,
135
0
                     "attribute 'args' of '%.100s' objects cannot be deleted",
136
0
                     Py_TYPE(self)->tp_name);
137
0
        return -1;
138
0
    }
139
3.08M
    value = arg;
140
3.08M
    Py_BEGIN_CRITICAL_SECTION(self);
141
3.08M
    return_value = BaseException_args_set_impl((PyBaseExceptionObject *)self, value);
142
3.08M
    Py_END_CRITICAL_SECTION();
143
144
3.08M
    return return_value;
145
3.08M
}
146
147
static PyObject *
148
BaseException___traceback___get_impl(PyBaseExceptionObject *self);
149
150
static PyObject *
151
BaseException___traceback___get(PyObject *self, void *Py_UNUSED(context))
152
0
{
153
0
    PyObject *return_value = NULL;
154
155
0
    Py_BEGIN_CRITICAL_SECTION(self);
156
0
    return_value = BaseException___traceback___get_impl((PyBaseExceptionObject *)self);
157
0
    Py_END_CRITICAL_SECTION();
158
159
0
    return return_value;
160
0
}
161
162
static int
163
BaseException___traceback___set_impl(PyBaseExceptionObject *self,
164
                                     PyObject *value);
165
166
static int
167
BaseException___traceback___set(PyObject *self, PyObject *arg, void *Py_UNUSED(context))
168
36.3k
{
169
36.3k
    int return_value = -1;
170
36.3k
    PyObject *value;
171
172
36.3k
    if (arg == NULL) {
173
0
        PyErr_Format(PyExc_AttributeError,
174
0
                     "attribute '__traceback__' of '%.100s' objects cannot be deleted",
175
0
                     Py_TYPE(self)->tp_name);
176
0
        return -1;
177
0
    }
178
36.3k
    value = arg;
179
36.3k
    Py_BEGIN_CRITICAL_SECTION(self);
180
36.3k
    return_value = BaseException___traceback___set_impl((PyBaseExceptionObject *)self, value);
181
36.3k
    Py_END_CRITICAL_SECTION();
182
183
36.3k
    return return_value;
184
36.3k
}
185
186
static PyObject *
187
BaseException___context___get_impl(PyBaseExceptionObject *self);
188
189
static PyObject *
190
BaseException___context___get(PyObject *self, void *Py_UNUSED(context))
191
0
{
192
0
    PyObject *return_value = NULL;
193
194
0
    Py_BEGIN_CRITICAL_SECTION(self);
195
0
    return_value = BaseException___context___get_impl((PyBaseExceptionObject *)self);
196
0
    Py_END_CRITICAL_SECTION();
197
198
0
    return return_value;
199
0
}
200
201
static int
202
BaseException___context___set_impl(PyBaseExceptionObject *self,
203
                                   PyObject *value);
204
205
static int
206
BaseException___context___set(PyObject *self, PyObject *arg, void *Py_UNUSED(context))
207
0
{
208
0
    int return_value = -1;
209
0
    PyObject *value;
210
211
0
    if (arg == NULL) {
212
0
        PyErr_Format(PyExc_AttributeError,
213
0
                     "attribute '__context__' of '%.100s' objects cannot be deleted",
214
0
                     Py_TYPE(self)->tp_name);
215
0
        return -1;
216
0
    }
217
0
    value = arg;
218
0
    Py_BEGIN_CRITICAL_SECTION(self);
219
0
    return_value = BaseException___context___set_impl((PyBaseExceptionObject *)self, value);
220
0
    Py_END_CRITICAL_SECTION();
221
222
0
    return return_value;
223
0
}
224
225
static PyObject *
226
BaseException___cause___get_impl(PyBaseExceptionObject *self);
227
228
static PyObject *
229
BaseException___cause___get(PyObject *self, void *Py_UNUSED(context))
230
0
{
231
0
    PyObject *return_value = NULL;
232
233
0
    Py_BEGIN_CRITICAL_SECTION(self);
234
0
    return_value = BaseException___cause___get_impl((PyBaseExceptionObject *)self);
235
0
    Py_END_CRITICAL_SECTION();
236
237
0
    return return_value;
238
0
}
239
240
static int
241
BaseException___cause___set_impl(PyBaseExceptionObject *self,
242
                                 PyObject *value);
243
244
static int
245
BaseException___cause___set(PyObject *self, PyObject *arg, void *Py_UNUSED(context))
246
0
{
247
0
    int return_value = -1;
248
0
    PyObject *value;
249
250
0
    if (arg == NULL) {
251
0
        PyErr_Format(PyExc_AttributeError,
252
0
                     "attribute '__cause__' of '%.100s' objects cannot be deleted",
253
0
                     Py_TYPE(self)->tp_name);
254
0
        return -1;
255
0
    }
256
0
    value = arg;
257
0
    Py_BEGIN_CRITICAL_SECTION(self);
258
0
    return_value = BaseException___cause___set_impl((PyBaseExceptionObject *)self, value);
259
0
    Py_END_CRITICAL_SECTION();
260
261
0
    return return_value;
262
0
}
263
264
PyDoc_STRVAR(BaseExceptionGroup_derive__doc__,
265
"derive($self, excs, /)\n"
266
"--\n"
267
"\n");
268
269
#define BASEEXCEPTIONGROUP_DERIVE_METHODDEF    \
270
    {"derive", (PyCFunction)BaseExceptionGroup_derive, METH_O, BaseExceptionGroup_derive__doc__},
271
272
static PyObject *
273
BaseExceptionGroup_derive_impl(PyBaseExceptionGroupObject *self,
274
                               PyObject *excs);
275
276
static PyObject *
277
BaseExceptionGroup_derive(PyObject *self, PyObject *excs)
278
0
{
279
0
    PyObject *return_value = NULL;
280
281
0
    Py_BEGIN_CRITICAL_SECTION(self);
282
0
    return_value = BaseExceptionGroup_derive_impl((PyBaseExceptionGroupObject *)self, excs);
283
0
    Py_END_CRITICAL_SECTION();
284
285
0
    return return_value;
286
0
}
287
288
PyDoc_STRVAR(BaseExceptionGroup_split__doc__,
289
"split($self, matcher_value, /)\n"
290
"--\n"
291
"\n");
292
293
#define BASEEXCEPTIONGROUP_SPLIT_METHODDEF    \
294
    {"split", (PyCFunction)BaseExceptionGroup_split, METH_O, BaseExceptionGroup_split__doc__},
295
296
static PyObject *
297
BaseExceptionGroup_split_impl(PyBaseExceptionGroupObject *self,
298
                              PyObject *matcher_value);
299
300
static PyObject *
301
BaseExceptionGroup_split(PyObject *self, PyObject *matcher_value)
302
0
{
303
0
    PyObject *return_value = NULL;
304
305
0
    Py_BEGIN_CRITICAL_SECTION(self);
306
0
    return_value = BaseExceptionGroup_split_impl((PyBaseExceptionGroupObject *)self, matcher_value);
307
0
    Py_END_CRITICAL_SECTION();
308
309
0
    return return_value;
310
0
}
311
312
PyDoc_STRVAR(BaseExceptionGroup_subgroup__doc__,
313
"subgroup($self, matcher_value, /)\n"
314
"--\n"
315
"\n");
316
317
#define BASEEXCEPTIONGROUP_SUBGROUP_METHODDEF    \
318
    {"subgroup", (PyCFunction)BaseExceptionGroup_subgroup, METH_O, BaseExceptionGroup_subgroup__doc__},
319
320
static PyObject *
321
BaseExceptionGroup_subgroup_impl(PyBaseExceptionGroupObject *self,
322
                                 PyObject *matcher_value);
323
324
static PyObject *
325
BaseExceptionGroup_subgroup(PyObject *self, PyObject *matcher_value)
326
0
{
327
0
    PyObject *return_value = NULL;
328
329
0
    Py_BEGIN_CRITICAL_SECTION(self);
330
0
    return_value = BaseExceptionGroup_subgroup_impl((PyBaseExceptionGroupObject *)self, matcher_value);
331
0
    Py_END_CRITICAL_SECTION();
332
333
0
    return return_value;
334
0
}
335
#define BASEEXCEPTION_ARGS_GETSETDEF {"args", (getter)BaseException_args_get, (setter)BaseException_args_set, NULL},
336
337
#define BASEEXCEPTION___TRACEBACK___GETSETDEF {"__traceback__", (getter)BaseException___traceback___get, (setter)BaseException___traceback___set, NULL},
338
339
#define BASEEXCEPTION___CONTEXT___GETSETDEF {"__context__", (getter)BaseException___context___get, (setter)BaseException___context___set, NULL},
340
341
#define BASEEXCEPTION___CAUSE___GETSETDEF {"__cause__", (getter)BaseException___cause___get, (setter)BaseException___cause___set, NULL},
342
343
/*[clinic end generated code: output=b14d57bb5ad3be0d input=a9049054013a1b77]*/