]> granicus.if.org Git - python/commitdiff
#3071: tell how many values were expected when unpacking too many.
authorGeorg Brandl <georg@python.org>
Sat, 10 Jul 2010 10:32:36 +0000 (10:32 +0000)
committerGeorg Brandl <georg@python.org>
Sat, 10 Jul 2010 10:32:36 +0000 (10:32 +0000)
Lib/test/test_unpack.py
Python/ceval.c

index b1531f306d8220663a89a3540e39dc5dfb714a5e..b1c483d4d550ad47c54eeb93931a7a83ca044d62 100644 (file)
@@ -62,14 +62,14 @@ Unpacking tuple of wrong size
     >>> a, b = t
     Traceback (most recent call last):
       ...
-    ValueError: too many values to unpack
+    ValueError: too many values to unpack (expected 2)
 
 Unpacking tuple of wrong size
 
     >>> a, b = l
     Traceback (most recent call last):
       ...
-    ValueError: too many values to unpack
+    ValueError: too many values to unpack (expected 2)
 
 Unpacking sequence too short
 
@@ -83,7 +83,7 @@ Unpacking sequence too long
     >>> a, b = Seq()
     Traceback (most recent call last):
       ...
-    ValueError: too many values to unpack
+    ValueError: too many values to unpack (expected 2)
 
 Unpacking a sequence where the test for too long raises a different kind of
 error
index 6e4911ae925917079fd0c24497533cd062691e8b..2d4b16a39a2726ac49b49f6a761091f457029861 100644 (file)
@@ -3464,7 +3464,8 @@ unpack_iterable(PyObject *v, int argcnt, int argcntafter, PyObject **sp)
             return 1;
         }
         Py_DECREF(w);
-        PyErr_SetString(PyExc_ValueError, "too many values to unpack");
+        PyErr_Format(PyExc_ValueError, "too many values to unpack "
+                     "(expected %d)", argcnt);
         goto Error;
     }