mirror of https://github.com/python/cpython
Disallow keyword args for exceptions.
This commit is contained in:
parent
008b861bf0
commit
861089fc49
|
@ -296,3 +296,10 @@ for args in exceptionList:
|
||||||
( repr(e), checkArgName,
|
( repr(e), checkArgName,
|
||||||
repr(expected[checkArgName]),
|
repr(expected[checkArgName]),
|
||||||
repr(getattr(e, checkArgName)) ))
|
repr(getattr(e, checkArgName)) ))
|
||||||
|
|
||||||
|
try:
|
||||||
|
BaseException(a=1)
|
||||||
|
except TypeErrror:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
raise TestFailed("BaseException shouldn't take keyword args")
|
||||||
|
|
|
@ -32,6 +32,9 @@ BaseException_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
|
||||||
{
|
{
|
||||||
PyBaseExceptionObject *self;
|
PyBaseExceptionObject *self;
|
||||||
|
|
||||||
|
if (!_PyArg_NoKeywords("BaseException", kwds))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
self = (PyBaseExceptionObject *)type->tp_alloc(type, 0);
|
self = (PyBaseExceptionObject *)type->tp_alloc(type, 0);
|
||||||
/* the dict is created on the fly in PyObject_GenericSetAttr */
|
/* the dict is created on the fly in PyObject_GenericSetAttr */
|
||||||
self->message = self->dict = NULL;
|
self->message = self->dict = NULL;
|
||||||
|
|
Loading…
Reference in New Issue