Поймать четко определенное исключение из sub.submodule в python - PullRequest
0 голосов
/ 17 мая 2010

У меня 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. Является ли импорт ххх3 внутри ххх единственным способом отлова OppsError?

1 Ответ

1 голос
/ 17 мая 2010

Насколько я знаю, это так (если только вы не готовы заменить OppsError на встроенное исключение, которое уже известно как xxx, или перехватить более общее исключение вместо OppsError, из которого OppsError получено).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...