A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2003-October/038587.html below:

[Python-Dev] Re: More informative error messages

[Python-Dev] Re: More informative error messagesGregory P. Smith greg at electricrain.com
Wed Oct 8 04:03:02 EDT 2003
On Tue, Oct 07, 2003 at 10:56:34AM +0200, Alex Martelli wrote:
> >
> >   TypeError: foo() takes exactly 1 argument (2 given)
> 
> A perennial beginners' confusion (recently highlighted in a c.l.py thread
> whose subject claimed that Python can't count;-) is about that "number
> of arguments given" number: one calls zoop.bleep() and is told bleep
> "takes exactly 2 arguments (1 given)" when one is sure that one has
> given no argument at all (and should give exactly 1) -- the implied 'self'
> causing the beginners' confusion.  It seems to me that, if we work on these
> messages, we may be able to distinguish the bound-method case into
> 
> TypeError: bound method bleep() of Zoop instance takes exactly 1
> argument (0 given)

I've had to answer that question about the "wrong" numbers for python
newbies[1] frequently as well.  Even a simple cleaning up of the user
visible off by one error to be:

  TypeError: method bleep() takes exactly 1 argument (0 given)

At the time the TypeError is constructed it shouldn't add serious overhead
to check if its a method or a function and subtract 1 accordingly.

Greg

[1] where newbie is defined as someone who doesn't know the answer to
    that yet ;)

More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4