[Python-ideas] syntax to continue into the next subsequent except block
Steven D'Aprano
steve at pearwood.info
Mon Sep 17 13:24:21 CEST 2012
On 17/09/12 20:43, Paul Wiseman wrote:
> with your ValueError case, say you wanted to call ham on every case of a
> parent exception to ValueError (I guess it could only be Exception for this
> example), but not ValueError where condition was true,
>
> so how would you write this without the except..if?
>
> try:
> something()
> except HTTPError as ex if condition(ex):
> spam()
> except URLError:
> # if not condition, fall through to the next except block
> ham()
try:
something()
except URLError as ex: # will also catch HTTPError
# if you want to be explicit, say "except HTTPError, URLError as ex"
if isinstance(ex, HTTPError) and condition(ex):
spam()
else:
ham()
> (I switched ValueError for HTTPError because it has more parent classes
> that just Exception, because having 'except Exception' probably isn't the
> greatest example)
Sure, no worries.
--
Steven
More information about the Python-ideas
mailing list