[Python-Dev] cpython: Rename contextlib.ignored() to contextlib.ignore(). (original) (raw)
Antoine Pitrou solipsis at pitrou.net
Sun Oct 13 14:34:27 CEST 2013
- Previous message: [Python-Dev] cpython: Rename contextlib.ignored() to contextlib.ignore().
- Next message: [Python-Dev] cpython: Rename contextlib.ignored() to contextlib.ignore().
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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.
- Previous message: [Python-Dev] cpython: Rename contextlib.ignored() to contextlib.ignore().
- Next message: [Python-Dev] cpython: Rename contextlib.ignored() to contextlib.ignore().
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]