臨時異常類是在python腳本中動態使用'type'來定義的,該腳本用作模塊。當此類的實例在導入腳本中被捕獲時,它無法識別該類。 下面的代碼片段動態定義的類在導入模塊中不可見python
# the throwing module, defines dynamically
def bad_function():
ExceptionClass = type("FooBar", (Exception,),
{ "__init__": lambda self, msg: Exception.__init__(self, msg) })
raise ExceptionClass("ExceptionClass")
的使用代碼
import libt0
try:
libt0.bad_function()
#except libt0.FooBar as e:
#print e
except Exception as e:
print e
print e.__class__
能不能解釋爲什麼libt0.FooBase是不是這個腳本可見?最後一行的觀察員輸出。
由於存在,這個工程。我必須承認,我的蟒蛇知識很淺薄。我在Python中學到的所有東西都是語法和一些生存庫。我主要是C/C++的人。幫助真的很感激@gnibbler。 – user2496012