There should be one-- and preferably only one --obvious way to do it (was "Interest check in some delicious syntactic sugar for "except:pass"")

Lie Ryan lie.1296 at gmail.com
Wed Mar 3 08:19:56 EST 2010


On 03/03/2010 08:27 PM, Oren Elrad wrote:
> Howdy all, longtime appreciative user, first time mailer-inner.
> 
> I'm wondering if there is any support (tepid better than none) for the
> following syntactic sugar:
> 
> silence:
> ......... block
> 
> ------------------------->
> 
> try:
> .........block
> except:
> .........pass
> 
> The logic here is that there are a ton of "except: pass" statements[1]
> floating around in code that do not need to be there. Meanwhile, the
> potential keyword 'silence' does not appear to be in significant use
> as a variable[2], or an alternative keyword might be imagined
> ('quiet', 'hush', 'stfu') but I somewhat like the verbiness of
> 'silence' since that is precisely what it does to the block (that is,
> you have to inflect it as a verb, not a noun -- you are telling the
> block to be silent). Finally, since this is the purest form of
> syntactic sugar, I cannot fathom any parsing, interpreting or other
> complications that would arise.

Given that python HATE bare-except (and `pass`-block bare except is even
worse) and given python's idiosyncrasies "There should be one-- and
preferably only one --obvious way to do it", "Errors should never pass
silently"; the chance for `silence` keyword is precisely zero.

> I appreciate any feedback, including frank statements that you'd
> rather not trifle with such nonsense.

There are lots of reason why bare-except is bad, one being is that it
makes it way too easy to ignore errors that you don't actually want to
silence; and given that bare-excepts would prevent Ctrl+C (Interrupt)
from working. Sorry, but IMHO we shouldn't make syntax sugar for bad
practices.



More information about the Python-list mailing list