【发布时间】:2017-06-11 15:47:23
【问题描述】:
当我的脚本执行 except 块时出现错误:
Traceback (most recent call last):
File "/usr/lib/python3.5/tkinter/__init__.py", line 1553, in __call__
return self.func(*args)
File "/home/cali/PycharmProjects/untitled1/test2.py", line 68, in create_user
self.status_label.config(text='Failed to add user %s' % username)
UnboundLocalError: local variable 'username' referenced before assignment
在我看来,username 仅在 try 块中是本地的。
def create_user(self):
try:
username = self.add_user(self.username_entry2.get(), self.password_entry2.get())
self.status_label.config(text='Added user %s' % username)
except Exception:
self.status_label.config(text='Failed to add user %s' % username)
我该如何解决这个问题?
【问题讨论】:
-
如果没有分配
except,则不能在except块中使用它。 -
如果
self.add_user()或两个.get()调用中的任何一个调用引发异常,则username未设置。
标签: python exception exception-handling