Gestion des erreurs : Traiter les exceptions
Lorsqu'un programme Python rencontre une situation qu'il ne peut pas gérer (comme diviser par zéro, tenter d'accéder à un fichier inexistant ou convertir une entrée invalide), il lève une Exception (ou erreur).
Si elle n'est pas gérée, l'exception provoque le plantage du programme. La gestion des erreurs nous permet de gérer ces échecs avec élégance.
Le bloc try...except
python try: # Code susceptible de lever une exception risky_operation() except ExceptionType as e: # Code qui s'exécute si l'exception se produit handle_error(e)
Exemple : Gérer la division par zéro
python num1 = 10 num2 = 0
try: result = num1 / num2 print(f"Résultat : {result}") except ZeroDivisionError: print("Erreur : Impossible de diviser par zéro.") result = 0
print(f"Calcul terminé. Résultat final : {result}")
Capturer des exceptions spécifiques vs générales
Il est toujours préférable de capturer des exceptions spécifiques plutôt que des exceptions larges.
python data = [1, 2, 3]
try: # 1. ZeroDivisionError potentiel # 2. IndexError potentiel item = data[4]
except IndexError: print("Tentative d'accès à un index de liste hors plage.") except Exception as e: # Capturer tout autre type d'erreur inattendue print(f"Une erreur inattendue s'est produite : {e}")