ElChino <elch...@cnn.cn> writes:

> I'm trying to simplify a try-except construct. E.g. how come
> this:
>   try:
>     _x, pathname, _y = imp.find_module (mod, mod_path)
>     return ("%s" % pathname)
>   except ImportError:
>     pass
>   except RuntimeError:
>     pass
>     return ("<unknown>")
>
> Cannot be simplified into this:
>   try:
>     _x, pathname, _y = imp.find_module (mod, mod_path)
>     return ("%s" % pathname)
>   except ImportError:
>   except RuntimeError:
>     pass
>     return ("<unknown>")
>
> Like a "fall-through" in a C-switch statement.

The except parts don't fall through, and each one needs a "suite".
Also, the "pass" before the return is mysterious which makes me think
there's an indent error in what you posted.

Anyway, to coalesce two or more exception handlers, you are probably
looking for

  except (ImportError, RuntimeError):

which matches both.

-- 
Ben.
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to