Coverage Report

Created: 2026-10-31 06:21

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