[Python-Dev] Reasons behind misleading TypeError message when passing the wrong number of arguments to a method

Ben Finney ben+python at benfinney.id.au
Thu May 20 09:46:54 CEST 2010


Greg Ewing <greg.ewing at canterbury.ac.nz> writes:

> John Arbash Meinel wrote:
>
> > Because you wouldn't want to have
> >
> > A.echo()
> >
> > Say that it takes 1 argument and (-1 given) ?
>
> Something like "1 argument in addition to 'self'" would be reasonably
> clear and would cover both situations.

Except that there's nothing special to the syntax or parser about the
name ‘self’.

> +1 on fixing this from me, too. Even when you understand exactly
> what's going on, it's annoying having to make the mental adjustment
> every time.

Would it help if the traceback showed the ‘repr()’ of each of the
arguments received? That way it would be much clearer when the instance
was received as the first argument.

-- 
 \          “Any sufficiently advanced bug is indistinguishable from a |
  `\                                          feature.” —Rich Kulawiec |
_o__)                                                                  |
Ben Finney



More information about the Python-Dev mailing list