Mis a jour le 2017-12-03, 22:17

Exceptions

Syntaxe des exceptions :
while 1:
    try:
        x = int(raw_input('number:'))
        break
    except ValueError:
        print 'try again'
  
Une clause except peut avoir plusieurs exceptions :
Les exceptions sont des classes :
On peut exécuter du code si aucune exception levée :
try:
    ...
except TypeError:
    ...
else:
    print 'Aucune exception n'a eu lieu'
  
Certaines exceptions ont des arguments que l'on peut alors récupérer :
except NameError as e: # un argument, e, contenant les arguments de l'exception.
    print arg:', e
  
Les exceptions non traitées remontent d'appel en appel.
Pour catcher toutes les exceptions en récupérant leur message :
try:
    ...
except Exception as e:
   print e.message
   ...
  
Levée d'exception explicite :
finally : code toujours executé, qu'il y ait eu levée d'exception ou non :
try:
    1 / 0
except TypeError:
    print 'type error'
finally: # toujours exécuté, avant de lever l'exception
    print 'always done'
  
Traceback : permet de voir la pile des appels lors d'une erreur :
Assertions en python :

Copyright python-simple.com
programmer en python, tutoriel python, graphes en python, Aymeric Duclert