This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author pitrou
Recipients loewis, ocean-city, pitrou
Date 2008-08-07.13:43:13
SpamBayes Score 0.00011187705
Marked as misclassified No
Message-id <1218116594.37.0.476524768082.issue3515@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2008-08-07 13:43:14pitrousetrecipients: + pitrou, loewis, ocean-city
2008-08-07 13:43:14pitrousetmessageid: <1218116594.37.0.476524768082.issue3515@psf.upfronthosting.co.za>
2008-08-07 13:43:13pitroulinkissue3515 messages
2008-08-07 13:43:13pitroucreate