IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Recuperer le numero de ligne d'une exception Python


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 12
    Par défaut Recuperer le numero de ligne d'une exception Python
    Bonjour,
    j'aimerais récupéré le numéro de ligne d'une exception Python interceptée par
    Comment faire ?
    Merci

  2. #2
    Membre averti
    Inscrit en
    Février 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 12
    Par défaut
    N'est-ce pas possible ??

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 118
    Par défaut
    C'est possible avec le module traceback

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    import traceback
     
    try:
      a = []
      a[0] = 'boom'
    except IndexError, ex:
      print 'Line:', traceback.extract_stack()[-1][1]
    Ce n'est probablement pas la meilleure façon de faire, mais regarde dans l'aide du module traceback, tu trouveras mieux.

  4. #4
    Membre averti
    Inscrit en
    Février 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 12
    Par défaut
    merci,
    je vais essayer ...

  5. #5
    Membre averti
    Inscrit en
    Février 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 12
    Par défaut
    en fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    traceback.extract_stack()[-1][1]
    me retourne la ligne ou cette instruction est écrite, pas là où l'erreur à eu lieu.

    Mais l'idée m'a bien orienté (merci), le module traceback est la solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    traceback.extract_tb(sys.exc_traceback)
    retourne une liste des informations sur l'emplacement exact de l'erreur (fichiers, fonctions, lignes de codes, numéro de ligne).
    Pour le type et le message d'erreur, il y a et Sinon, façon chaine de caracteres :
    qui affiche la mm chose sous forme de string avec ttes les infos citées ci-dessus (ne retourne rien !)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/12/2013, 14h53
  2. [VBA-E] Récupérer le numéro de ligne où se trouve un bouton
    Par Freiya dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 28/01/2011, 23h06
  3. [VB.Net]Obtenir le N° de ligne d'une Exception
    Par MaelstroeM dans le forum VB.NET
    Réponses: 5
    Dernier message: 22/11/2006, 20h15
  4. Réponses: 2
    Dernier message: 19/05/2004, 10h13
  5. [JSP] Affichage numéro de ligne d'une exception
    Par PhoneKilleR dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 23/09/2003, 14h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo