Python 名称错误:全局名称';已经存在的';在函数中使用try/except时未定义
我知道这些问题中有很多是存在的,但我似乎找不到一个适合我的问题 我有以下资料:Python 名称错误:全局名称';已经存在的';在函数中使用try/except时未定义,python,Python,我知道这些问题中有很多是存在的,但我似乎找不到一个适合我的问题 我有以下资料: def function(): try: # function to create a table on hbase except AlreadyExists, ae: print "WARN: " + ae.message 当我从另一个python脚本调用它时,它给了我 NameError: global name 'AlreadyExists' is not defined …但是
def function():
try:
# function to create a table on hbase
except AlreadyExists, ae:
print "WARN: " + ae.message
当我从另一个python脚本调用它时,它给了我
NameError: global name 'AlreadyExists' is not defined
…但是如果我删除def function()
并单独运行它,它就会工作,并且不会抱怨全局名称
我试着把global-AlreadyExists
放进去,但没有成功。我也看了这个,但我不确定如何应用它,因为它是独立工作的(我不必导入任何特定的内容,但一旦我将它包装到函数中,它就会失败)
有什么建议吗?Python仅在引发异常时尝试访问该名称。当您在函数外部运行代码时,它可能没有抛出异常,这就是您认为它有效的原因 您需要从AlreadyExists异常所在的位置导入它 变化
from hbase import ttypes
...
except AlreadyExists, ae:
到
您导入了AlreadyExists吗?哦,好吧..很有意义..我以为应用程序抛出了错误代码,我正在捕获名称(有点像打印错误名称)…没有意识到我必须导入我想要捕获的错误。非常感谢。
except ttypes.AlreadyExists, ae: