Error: UnboundLocalError: local variable 'PfFlag' referenced before assignment

davisn90210 at gmail.com davisn90210 at gmail.com
Sat Dec 1 13:13:57 EST 2007


Calvin wrote:
> On Nov 30, 3:07 pm, "Wang, Harry" <HW... at ciber.com> wrote:
> > $$ TestCase ID : 001
> > Step : deleteDvc,206268
> > Result Eval type : XmlChk
> > Step : deleteDvc,206269
> > Result Eval type : XmlChk
> > Traceback (most recent call last):
> >   File "C:\UDR2\UDRxmlGateway.py", line 388, in <module>
> >     ParseAll()
> >   File "C:\UDR2\UDRxmlGateway.py", line 371, in ParseAll
> >     if (PfFlag == 1):
> > UnboundLocalError: local variable 'PfFlag' referenced before assignment
> >
> > PfFlag gets assigned in a for loop in line 365
> >         for i in range(PfFlagArrSize):
> >             if (PfFlagArr[i] == 1):
> > --->         PfFlag = int(1)
> >                 break
> >             else:
> >                 PfFlag = int(-1)
> >
> > No idea what is going on here
> >
> > Harry C. Wang
> > Sr. Test Engineer (Automation)
> > Phone 206 - 268 - 7502
> > temporary e-mail: hw... at ciber.com
> > Personal e-mail: hcw... at comcast.net
> > Ciber EmpID # 36219
>
> OK this problem has been solved.  Duh???  The variable thingy is not
> initialized.

Well, that much is obvious.  What's probably not so obvious is *why*
the "variable thingy" is not initialized.  From what I can tell, this
could only happen if, and only if, PfFlagArrSize <= 0.  In that case,
the body of the for loop will never execute and PfFlag will *not* be
set, hence the error.

--Nathan Davis



More information about the Python-list mailing list