Mis a jour le 2019-08-19, 22:43

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(str(e))
   ...
  
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 :
Pour avoir la pile des appels :
Assertions en python :

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