2010-07-25 6 views

Répondre

9

L'approche correcte est

xcpt.args 

Seul l'attribut message va loin. L'exception continuera d'exister et continuera d'avoir des arguments.

Lisez ceci: http://www.python.org/dev/peps/pep-0352/ ce qui a un certain rationnel pour enlever l'attribut messages.

2

Si vous voulez imprimer l'exception:

print "Couldn't import foo.bar.baz: %s" % xcpt 

Des exceptions ont une méthode __str__ définie pour créer une version lisible d'eux-mêmes. Je ne voudrais pas déranger avec "Importer l'erreur:" puisque l'exception le fournira lui-même. Si vous ajoutez du texte à l'exception, faites en sorte que ce soit quelque chose que vous connaissez en fonction du code que vous essayez d'exécuter.

+0

Quand je fais impression xcpt, je reçois "Aucun module nommé tribes.models" qui ne me donne pas le titre de l'exception, même si elle est implicite dans le message. – boatcoder

Questions connexes