parfois utile laissez-moi vous donner un exemple réel que je je l'ai fait mon travail:
ce WAS est dans un décorateur qui enveloppe func: donc en gros ce que je voulais est de re-relancer l'erreur que je attrapé quand j'ai appelé la fonction func de sorte que le décorateur ne change pas le comportement de la fonction func, car lorsque func déclencher une exception les exceptions sont envoyées à l'interface graphique de sorte qu'un message d'erreur peut apparaître à l'utilisateur,
et pour l'essayer, sauf que je l'utilise parce que je veux exécuter le code dans enfin, même si une exception est soulevée
try:
result = func(self, *args, **kws)
return result
except Exception, ex:
# If an exception is raised save it also.
logging_data['message'] = str(ex)
logging_data['type'] = 'exception'
# Raise the error catched here so that we could have
# the same behavior as the decorated method.
raise
finally:
# Save logging data in the database
....
espérons que cela aidera à comprendre l'utilisation de re-raise
sth, vous avez raison que c'est un doublon. Dans son cas, le code avait cependant une exigence valide pour diviser les sous-classes. –