diff options
-rw-r--r-- | Lib/test/test_exception_group.py | 2 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Core and Builtins/2022-01-24-16-58-01.bpo-46431.N6mKAx.rst | 1 | ||||
-rw-r--r-- | Objects/exceptions.c | 5 |
3 files changed, 6 insertions, 2 deletions
diff --git a/Lib/test/test_exception_group.py b/Lib/test/test_exception_group.py index f0ae377..bbfce94 100644 --- a/Lib/test/test_exception_group.py +++ b/Lib/test/test_exception_group.py @@ -22,7 +22,7 @@ class TestExceptionGroupTypeHierarchy(unittest.TestCase): class BadConstructorArgs(unittest.TestCase): def test_bad_EG_construction__too_many_args(self): - MSG = 'function takes exactly 2 arguments' + MSG = 'BaseExceptionGroup.__new__\(\) takes exactly 2 arguments' with self.assertRaisesRegex(TypeError, MSG): ExceptionGroup('no errors') with self.assertRaisesRegex(TypeError, MSG): diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-01-24-16-58-01.bpo-46431.N6mKAx.rst b/Misc/NEWS.d/next/Core and Builtins/2022-01-24-16-58-01.bpo-46431.N6mKAx.rst new file mode 100644 index 0000000..3a2af9d --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-01-24-16-58-01.bpo-46431.N6mKAx.rst @@ -0,0 +1 @@ +Improve error message on invalid calls to :meth:`BaseExceptionGroup.__new__`.
\ No newline at end of file diff --git a/Objects/exceptions.c b/Objects/exceptions.c index 065503f..d8bfb31 100644 --- a/Objects/exceptions.c +++ b/Objects/exceptions.c @@ -685,7 +685,10 @@ BaseExceptionGroup_new(PyTypeObject *type, PyObject *args, PyObject *kwds) PyObject *message = NULL; PyObject *exceptions = NULL; - if (!PyArg_ParseTuple(args, "UO", &message, &exceptions)) { + if (!PyArg_ParseTuple(args, + "UO:BaseExceptionGroup.__new__", + &message, + &exceptions)) { return NULL; } |