From 573b54515740ce51dcf2402038a9d953aa6c317f Mon Sep 17 00:00:00 2001 From: Irit Katriel <1055913+iritkatriel@users.noreply.github.com> Date: Mon, 24 Jan 2022 21:47:40 +0000 Subject: bpo-46431: improve error message on invalid calls to BaseExceptionGroup.__new__ (GH-30854) --- Lib/test/test_exception_group.py | 2 +- .../next/Core and Builtins/2022-01-24-16-58-01.bpo-46431.N6mKAx.rst | 1 + Objects/exceptions.c | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-01-24-16-58-01.bpo-46431.N6mKAx.rst 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; } -- cgit v0.12