如何在Python中捕获NameError异常?

当您的代码引用当前作用域中不存在的名称时,将引发NameErrors。例如,不合格的变量名。

给定的代码被重写如下,以捕获异常并找到其类型。

示例

import sys
try:
def foo():
print magnolia
foo()
except NameError as e:
print e
print sys.exc_type

输出结果

C:/Users/nhooo1/~.py
global name 'magnolia' is not defined
<type 'exceptions.NameError'>