"Robert Kern" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
> Paul Rubin wrote:
> > Say that the open is inside the try block. If the file can't be
> > opened, then 'open' raises an exception, 'f' doesn't get set, and then
> > the 'finally' clause tries to close f. f might have been previously
> > bound to some other file (which still has other handles alive) and so
> > the wrong file gets closed.
>
> And even if 'f' wasn't bound to anything, you will get a NameError instead
of
> the exception that you're really interested in seeing.
Thanks to both of you. So in order to be thorough, should I be doing:
try:
f=open('file')
except: IOError:
print 'doesn't exist'
so_something_else_instead()
try:
contents = f.read()
finally:
f.close()
Thanks again.
Louis
--
http://mail.python.org/mailman/listinfo/python-list