Antoine Pitrou <[EMAIL PROTECTED]> added the comment:
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.
----------
nosy: +pitrou
resolution: -> invalid
status: open -> closed
_______________________________________
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue3515>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com