Forum Programmation.python propagation / récupération des exceptions

Posté par  .
Étiquettes : aucune
0
17
oct.
2007
Bonjour,

j'ai dans un Main.py un appel à une méthode de classe, celle-ci peut levée des exceptions et dans ce cas, j'ai bien le message d'erreur qui apparait, mais comment fais-je pour avoir dans mon Main.py une récupération/remontée de mon exception afin d'interrompre le traitement de mon programme si celle-ci survient ?

exemple :

ma classe Recherche avec ma fonction recherche

##Recherche.py
...
def recherche(arguments divers)
...
try:
result_id = ldapconnection.search(basedn, scope, filtre)
except ldap.FILTER_ERROR, error_message:
print "Search filter error. %s " % error_message
else:
return resultid


mon fichier Main.py principal qui fait appel à la classe précédente


##Main.py

...
rech = Recherche.Recherche(connection_ldap)


J'ai bien essayé de faire

try:
rech = Recherche.Recherche(connection_ldap)
except:
print error_message
exit

mais ça ne marche pas vraiment.

Quelqu'un a-t-il une idée ?
  • # raise

    Posté par  (site web personnel) . Évalué à 1.

    Si j'ai bien compris ce que tu voulais, il te suffit de rajouter un "raise" pour "relancer" la dernière exception:


    ##Recherche.py

    ...

    def recherche(arguments divers)
    ...
      try:
        result_id = ldapconnection.search(basedn, scope, filtre)
      except ldap.FILTER_ERROR, error_message:
        print "Search filter error. %s " % error_message
        raise
      else:
        return resultid
    • [^] # Re: raise

      Posté par  . Évalué à 1.

      ouais, ça ressemble à ce que je veux, je vais tester dès que j'ai un peu de temps.
      en tout cas, je suis finalement tombé sur ce mot clé mais pas beaucoup de doc dispo sur le net.

      merci

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.