File "/data1/dist/app/trunk/duitang/memcache.py", line 929, in _recv_value
return val
UnboundLocalError: local variable 'val' referenced before assignment
对
UnboundLocalError: local variable 'val' referenced before assignment
这个错误很感兴趣,google了一下。
产生这个错误的场景有:
def test(flag):
if flag:
val = 1
else:
print 'fuck'
return val
test(0)
前面这段code还好理解,下面这段code也会报这个Error就让人觉得有点坑爹了:
>>> counter = 0
>>> def increment():
... counter+=1
...
>>> increment()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in increment
UnboundLocalError: local variable 'counter' referenced before assignment