Python et les erreurs ********************* Plusieurs méthodes .. code-block:: python try: a = 1/0 except Exception, e: syslog.syslog('[%s][ERROR][ERROR]: %s ' % (sys.argv[0],e)) #sys.argv[0] récupère le nom du programme à partir de python 2.7 .. code-block:: python try: a = 1/0 except Exception as e: syslog.syslog('[%s][ERROR][ERROR]: %s ' % (sys.argv[0],e)) #sys.argv[0] récupère le nom du programme pour obtenir l'ensemble des sorties obtenues dans la sortie standards .. code-block:: python import traceback, sys try: a = 1/0 except Exception as e: exc_type, exc_value, exc_traceback = sys.exc_info() formatted_lines = traceback.format_exc().splitlines() print ('\n'.join(formatted_lines)) gestion du type d'erreur .. code-block:: python for arg in sys.argv[1:]: try: f = open(arg, 'r') except IOError: print 'cannot open', arg else: print arg, 'has', len(f.readlines()), 'lines' f.close() définition d'une classe erreur .. code-block:: python class MyError(Exception): def __init__(self, value): self.value = value def __str__(self): return repr(self.value) try: raise MyError(2*2) except MyError as e: print 'My exception occurred, value:', e.value