"redawgts" <[EMAIL PROTECTED]> wrote in message 
news:[EMAIL PROTECTED]

>I keep getting this error "local variable 'f' referenced before
> assignment" in the finally block when I run the following code.
>
>        try:
>            f = file(self.filename, 'rb')
>            f.seek(DATA_OFFSET)
>            self.__data = f.read(DATA_SIZE)
>            self.isDataLoaded = True
>        except:
>            self.isDataLoaded = False
>        finally:
>            f.close()
>
> Can someone tell me what's wrong with the code? Am I doing something
> wrong? I'm somewhat new to python but this makes sense to me.

If the call to file raises an exception, then variable f won't have been 
created.

Here's a simple example:

    def f():
        throw 42
    try:
        x = f()
    except:
        print x

Try it and see what happens.  While you're at it, you might try to figure 
out what you would like it to print.



-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to