[Python-Dev] cpython: Rename contextlib.ignored() to contextlib.ignore().
Antoine Pitrou
solipsis at pitrou.net
Sun Oct 13 14:34:27 CEST 2013
On Sun, 13 Oct 2013 16:57:09 +1000
Nick Coghlan <ncoghlan at gmail.com> wrote:
>
> For the record, this thread did prompt me to consider the new construct
> anew, but on reflection, I still consider it a reasonable addition to
> contextlib.
>
> It substantially improves the simple cases it is intended to help with,
> and, if anything, makes overly broad exception suppression *more* obviously
> dubious (because the name of the construct doesn't match the consequences
> for multi-line suites).
Why? Anyone can still write "try ... except".
The only sticking point for this construct is that it allows to save
one or two lines in rather uncommon cases (because most of the time you
should do something on an exception, not "ignore" it). The saving is
not worth it.
Basically instead of:
try:
# something
except FooException:
pass
You write:
from contextlib import ignore
with ignore(FooException):
# something
There's actually more typing involved, and one more API to know about...
It is just another case of those "one-liners" that we generally refrain
from adding to the stdlib.
Regards
Antoine.
More information about the Python-Dev
mailing list