Localisation du numéro de ligne, lorsqu'une exception se produit dans le code python

J'ai un code similaire à ceci:

try:
  if x:
      statement1
      statement2
      statement3
  elif y:
      statement4
      statement5
      statement6
  else:
      raise

except:
      statement7

Ici, je suis sûr que l'exception se produit dans If x: bloc, mais je voudrais savoir dans quel état de If x: bloc de l'exception se produit. Est-il possible d'obtenir le numéro de la ligne où l'erreur se produit?

Ce qui concerne,

Vous ne mentionnez pas pourquoi vous voulez cette. Pour déboguer un problème? De sorte que statement7 peut faire quelque chose de différent selon l'endroit où l'exception a été soulevée? Pouvez-vous nous en dire plus?
Dans mon code l'exception ne devrait pas se produire dans l'état 1 ou de la déclaration 2. si c'est le cas, soit de ci statement1 ou 2 est défectueux. il est acceptable d'avoir dans statement3. C'est pourquoi je voudrais savoir dans quelle ligne il y a exception à la règle.
Mais qu'allez-vous faire avec ces informations? Avez-vous besoin d'une fois pour corriger le programme, ou en avez-vous besoin au moment de l'exécution?
J'en ai besoin une fois de corriger les défauts des lignes. Maintenant, j'ai trouvé le fautif ligne, merci à tous!

OriginalL'auteur alwbtc | 2011-08-05