Author pitrou
Recipients loewis, ocean-city, pitrou
Date 2008-08-07.13:43:13
SpamBayes Score 0.000111877
Marked as misclassified No
Message-id <>
You don't need to raise another exception, calling sys.exc_clear()
should be fine. But a cleaner way to write your example is:

def foo():
    with open("a.txt", "w") as io:
        raise RuntimeError()

"with" will automatically close the file when the block exits.
If you are concerned with Python < 2.5 compatibility, use "try: ...
finally:" instead.

And, you're right, the problem doesn't occur at all in Python 3.0
because the exception is cleaned up after the end of the "except:" block
catching it.
Date User Action Args
2008-08-07 13:43:14pitrousetrecipients: + pitrou, loewis, ocean-city
2008-08-07 13:43:14pitrousetmessageid: <>
2008-08-07 13:43:13pitroulinkissue3515 messages
2008-08-07 13:43:13pitroucreate