try:else: w/o except: - why not?
Peter Hansen
peter at engcorp.com
Mon Mar 31 20:03:43 EST 2003
Manus Hand wrote:
>
> I know that if you want to use else: on a try: block, you need to
> specify one or more except: clauses. I guess my question is why
> this should need to be.
>
> Personally, I have cases where it would be nice to do this:
>
> try:
> # some code that may except
> else:
> # but if it didn't except, I want to do this
>
> Instead of writing the code that way, I need to write this:
>
> try:
> # some code that may except
> except:
> # and if it does, then, okay, just ignore it
> pass
> else:
> # but if it didn't except, I want to do this
No, actually to get the behaviour you presumably want, you would
have to write this:
try:
# stuff
except:
raise # pass would just swallow the exception!
else:
# do this when no exception
What you wrote in the first place is exactly the same as this:
# some code that may except
# but if it didn't except, I want to do this
In other words, the "try" in your first block is useless....
-Peter
More information about the Python-list
mailing list