python - Why is try-finally valid, but not try-else-finally? -
i found python throwing syntaxerror @ me trying try without except:
try: spam() else: eggs() finally: semprini() instead, forced write:
try: spam() except: raise else: eggs() finally: semprini() which felt silly, want eggs() executed before semprini() — if put contents of else:-clause after finally:-clause executed after semprini(). although there has been try without except proposal in past, semantics different there implication except: pass, i.e. polar opposite of i'm after. interestingly, try: without either except: or else: is valid, can't have else: if don't have except:. although there may different way formulate same, alternatives i've thought of (probably) have subtly different behaviour.
why presence of else: require presence of except:?
you should have written
try: spam() eggs() finally: semprini() in absence of except clauses, else useless.
Comments
Post a Comment