A RetroSearch Logo

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

Search Query:

Showing content from http://mail.python.org/pipermail/python-dev/2002-January/019615.html below:

[Python-Dev] When to signal an error

[Python-Dev] When to signal an errorJason Orendorff jason@jorendorff.com
Sat, 19 Jan 2002 17:34:12 -0600
Guido van Rossum wrote:
> Jason Orendorff wrote:
> > At runtime, Python tends to complain about iffy situations,
> > even situations that other languages might silently accept.
> 
> "Other languages" being Perl or JavaScript?  The situations you show
> here would all be errors in most languages that are compiled to
> machine code.
> 
> > For example:
> >   print 50 + " percent"             # TypeError
> >   x = [1, 2, 3]; x.remove(4)        # ValueError
> >   x = {}; print x[3]                # KeyError
> >   a, b = "x,y,z,z,y".split()        # ValueError
> >   x.append(1, 2)                    # TypeError, recently
> >   print u"\N{EURO SIGN}"            # UnicodeError

Not to bicker, but Java only manages to reject 2 of the 6,
both at compile time.  The other 4 silently pass through the
standard library without complaint.  None cause exceptions
during execution.

ML makes no distinction between append(1, 2) and append((1, 2)),
but that's a syntax thing...  C++ STL remove() doesn't complain
if it doesn't find anything to remove; nor does the C++
map<>::operator[]() complain if no entry exists.

> > I'm not complaining.  I like the pickiness.
> 
> That's why you're using Python. :-)

(laugh) You sell yourself short, Guido.  :)  I would still use
Python even if (50 + " percent") started evaluating to
"50 percent" tomorrow.

## Jason Orendorff    http://www.jorendorff.com/



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