2010-05-17 56 views
0

我有3個文件。 xxx導入xxx2和xxx2導入xxx3哪一個引發OppsError異常。從python中的sub.submodule捕獲明確定義的異常

xxx3.py:

class OppsError(Exception):pass 

def go(): 
    raise OppsError() 

xxx2.py:

import xxx3 
xxx3.go() 

xxx.py:

try: 
    import xxx2 
except xxx3.OppsError: 
    print 'ops' 

當我運行xxx.py我得到錯誤NameError: name 'xxx3' is not defined。在xxx內部導入xxx3只能抓到OppsError

回答

1

據我所知,這是(除非你願意與已已知xxx或趕上一個更一般的例外,而不是OppsErrorOppsError衍生內置的例外,以取代OppsError)。