NameError được raise khi code của bạn refer đến name không tồn tại trong current scope. Ví dụ, unqualified variable name.
Code cho trước được viết lại như sau để catch exception và tìm type của nó.
Ví dụ
import sys
try:
def foo():
print(magnolia)
foo()
except NameError as e:
print(e)
print(sys.exc_type)
Kết quả
C:/Users/TutorialsPoint1/~.py global name 'magnolia' is not defined <type 'exceptions.NameError'>