diff options
author | Irit Katriel <1055913+iritkatriel@users.noreply.github.com> | 2022-01-24 21:47:40 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-24 21:47:40 (GMT) |
commit | 573b54515740ce51dcf2402038a9d953aa6c317f (patch) | |
tree | 04cca4e1c9d3b70355f6857cef97cd0b4908a69c | |
parent | 1c705fda8f9902906edd26d46acb0433b0b098e1 (diff) | |
download | cpython-573b54515740ce51dcf2402038a9d953aa6c317f.zip cpython-573b54515740ce51dcf2402038a9d953aa6c317f.tar.gz cpython-573b54515740ce51dcf2402038a9d953aa6c317f.tar.bz2 |
bpo-46431: improve error message on invalid calls to BaseExceptionGroup.__new__ (GH-30854)
-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; } |