Give more detailed error message when the argument count isn't right.

This commit is contained in:
Guido van Rossum 1997-11-19 16:05:40 +00:00
parent 127b8dd8d4
commit df9db1ea18
1 changed files with 6 additions and 4 deletions

View File

@ -454,8 +454,9 @@ eval_code2(co, globals, locals,
}
if (argcount > co->co_argcount) {
if (!(co->co_flags & CO_VARARGS)) {
PyErr_SetString(PyExc_TypeError,
"too many arguments");
PyErr_Format(PyExc_TypeError,
"too many arguments; expected %d, got %d",
co->co_argcount, argcount);
goto fail;
}
n = co->co_argcount;
@ -513,8 +514,9 @@ eval_code2(co, globals, locals,
int m = co->co_argcount - defcount;
for (i = argcount; i < m; i++) {
if (GETLOCAL(i) == NULL) {
PyErr_SetString(PyExc_TypeError,
"not enough arguments");
PyErr_Format(PyExc_TypeError,
"not enough arguments; expected %d, got %d",
m, i);
goto fail;
}
}