Aller au contenu

Erreurs et exceptions

Gestion des exceptions

Le bloc d'instructions qui suit directement une instruction try est exécuté par Python sous réserve.

Si une erreur survient pendant l'exécution de l'une de ces instructions, alors Python annule cette instruction fautive et exécute à sa place le code inclus dans le bloc qui suit l'instruction except.

Si aucune erreur ne s'est produite dans les instructions qui suivent try, alors c'est le bloc qui suit l'instruction else qui est exécuté (si cette instruction est présente).

Le bloc d'instructions qui suit l'instruction finally est toujours exécuté (si cette instruction est présente).

try:
    # Bloc d'instructions susceptible de produire une erreur.
except:
    # Bloc d'instructions exécuté s'il survient une erreur lors de l'exécution
    # du bloc d'instructions suivant l'instruction « try ».
else:
    # Bloc d'instructions exécuté s'il ne survient aucune erreur
    # lors de l'exécution du bloc d'instructions suivant l'instruction « try ».
finally:
    # Bloc d'instructions exécuté quoi qu'il arrive lors de l'exécution
    # du bloc d'instructions suivant l'instruction « try ».

Il est possible de spécifier le type d'erreur à intercepter. Par exemple si une erreur de type ValueError intervient :

try:
    # Bloc d'instructions susceptible de produire une erreur.
except ValueError:
    # Bloc d'instructions exécuté s'il survient une erreur de type « ValueError »
    # lors de l'exécution du bloc d'instructions suivant l'instruction « try ».
except: # (optionnel)
    # Bloc d'instructions exécuté s'il survient une erreur de type autre que « ValueError »
    # lors de l'exécution du bloc d'instructions suivant l'instruction « try ».

Déclencher des exceptions

L'instruction raise permet au programmeur de déclencher une exception spécifique. Par exemple :

raise Exception("Une erreur s'est produite lors de l'exécution du programme !")
Toutes les exceptions définies par l'utilisateur devraient être dérivées de la classe Exception.

Ressources