[Python-Dev] suggestion for try/except program flow

Michael Haggerty mhagger at alum.mit.edu
Sun Mar 29 06:48:57 CEST 2009


Mark Donald wrote:
> I frequently have this situation:
> 
> try:
>     try:
>         raise Thing
>     except Thing, e:
>         # handle Thing exceptions
>         raise
> except:
>     # handle all exceptions, including Thing

This seems like an unusual pattern.  Are you sure you can't use

try:
    raise Thing
except Thing, e:
    # handle Thing exceptions
    raise
finally:
    # handle *all situations*, including Thing

Obviously, the finally: block is also invoked in the case that no
exceptions are triggered, but often this is what you want anyway...

Michael


More information about the Python-Dev mailing list