2010-05-17 3 views
0

J'ai 3 fichiers. xxx qui importe xxx2 et xxx2 importe xxx3 lequel déclenche une exception OppsError.Attraper une exception clairement définie à partir de sub.submodule en python

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' 

Quand je cours xxx.py i obtenir l'erreur NameError: name 'xxx3' is not defined. Est-ce que l'importation xxx3 à l'intérieur de xxx seul moyen d'attraper OppsError?

Répondre

1

Pour autant que je sache, il est (à moins que vous êtes prêt à remplacer OppsError une exception intégrée qui est déjà connu de xxx ou pour attraper une exception plus générale au lieu de OppsError à partir de laquelle OppsError est dérivé).

Questions connexes