从python中的sub.submodule捕获明确定义的异常

时间:2010-05-17 09:54:31

标签: python exception

我有3个文件。 xxx导入xxx2和xxx2导入xxx3,其中一个引发OppsError异常。

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 个答案:

答案 0 :(得分:1)

据我所知,它是(除非您愿意将OppsError替换为xxx已知的内置异常,或者捕获更一般的异常而不是{{ 1}} OppsError从中派生出来。