[Python-Dev] cpython: Rename contextlib.ignored() to contextlib.ignore(). (original) (raw)
Stephen J. Turnbull stephen at xemacs.org
Sat Oct 12 04:47:57 CEST 2013
- Previous message: [Python-Dev] tracker/irc and development transparency (was: cpython: Rename contextlib.ignored ...)
- Next message: [Python-Dev] cpython: Rename contextlib.ignored() to contextlib.ignore().
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Nick Coghlan writes:
(RDM is also right that the exception still has the effect of terminating the block early, but I view names as mnemonics rather than necessarily 100% accurate descriptions of things).
This is just way too ambiguous for my taste. I can't help reading
with contextlib.ignore(ExceptionIDontFeelLikeHandlingProperly):
stmt1
stmt2
stmt3
as
try:
stmt1
except ExceptionIDontFeelLikeHandlingProperly:
pass
try:
stmt2
except ExceptionIDontFeelLikeHandlingProperly:
pass
try:
stmt3
except ExceptionIDontFeelLikeHandlingProperly:
pass
rather than
try:
stmt1
stmt2
stmt3
except ExceptionIDontFeelLikeHandlingProperly:
pass
It just feels like the exception should be suppressed at some level "lower" than stmtN, so stmtN fails but the suite continues. How about
with contextlib.break_on(ExceptionIDontFeelLikeHandlingProperly):
stmt1
stmt2
stmt3
This is not 100% accurate Pythonically (there's no loop to break here), but it does describe what the context manager does more accurately, and it does effectively break out of the 'with' control structure.
- Previous message: [Python-Dev] tracker/irc and development transparency (was: cpython: Rename contextlib.ignored ...)
- Next message: [Python-Dev] cpython: Rename contextlib.ignored() to contextlib.ignore().
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]