Python Try/Except et gestion des erreurs
Empêchez vos scripts Python de planter. Apprenez à essayer, sauf, enfin les blocs et à déclencher correctement des exceptions personnalisées.
Aperçu
Dans le monde réel de la programmation, les erreurs sont totalement inévitables. Les fichiers peuvent être supprimés, les connexions réseau peuvent être interrompues ou un utilisateur peut saisir une lettre alors que votre script attendait un chiffre. Si ces scénarios se produisent sans protection, Python interrompt l'exécution et génère une exception (une erreur d'exécution), faisant planter l'ensemble du programme. La gestion des erreurs est l’art d’anticiper et de gérer ces échecs avec élégance.
La base de la gestion des erreurs en Python est la structure de blocs « try » et « except ». Vous placez le code potentiellement dangereux à l'intérieur du bloc `try`. Python tentera de l'exécuter. Si une erreur se produit, au lieu de planter, Python intercepte l'exception et saute immédiatement pour exécuter le code contenu dans le bloc « except ». Cela permet au programme de récupérer, d'afficher un message d'erreur convivial et de continuer à s'exécuter.
C'est une bonne pratique essentielle de détecter des exceptions spécifiques et ciblées plutôt que d'écrire un bloc global « except : ». Par exemple, détecter « FileNotFoundError » ou « ValueError » garantit explicitement que vous gérez exactement le problème que vous aviez prévu, plutôt que de masquer accidentellement des bogues sans rapport (comme une erreur de syntaxe) dont vous avez réellement besoin de connaître.
Python fournit également un bloc `else` facultatif, qui s'exécute uniquement si le bloc `try` s'est terminé avec succès sans générer d'erreurs. C’est l’endroit idéal pour mettre en place une logique qui dépend absolument du succès de l’opération dangereuse. De plus, le bloc «finally» fournit un moyen d'exécuter du code quoi qu'il arrive, qu'une erreur se soit produite ou non. Le bloc « finally » est vital pour les actions de nettoyage, telles que la fermeture des connexions à la base de données ou la libération des verrous de fichiers.
Au-delà de la détection des erreurs, Python permet aux développeurs de les déclencher explicitement à l'aide du mot-clé « raise ». La levée d'une exception vous permet d'appliquer des contraintes strictes dans votre logique, en rejetant les données non valides avant qu'elles ne corrompent l'état de votre application. En définissant des classes d'exception personnalisées qui héritent de la classe de base « Exception » de Python, les développeurs peuvent créer des hiérarchies d'erreurs hautement spécifiques au domaine pour les applications d'entreprise massives.
Sortie de code et d'exécution
Créer une sécurité structurelle lors de l'interaction avec des structures de fichiers potentiellement dangereuses ou inexistantes.
def divide_numbers(a, b):
try:
result = a / b
except ZeroDivisionError:
return "Error: Cannot divide by zero!"
except TypeError:
return "Error: Both arguments must be numbers."
else:
return f"The result is {result}"
finally:
print("Execution completed.")
print(divide_numbers(10, 2))
print(divide_numbers(10, 0))Execution completed.
The result is 5.0
Execution completed.
Error: Cannot divide by zero!Mise en œuvre étape par étape
- Validation des soumissions de formulaires utilisateur
- S'assurer que les requêtes réseau ne plantent pas en cas d'expiration du délai
- Fermeture sécurisée des connexions à la base de données dans un bloc final
Foire aux questions
Quel est le mot-clé « augmenter » ?
Le mot-clé raise est utilisé pour déclencher une exception à dessein. Vous pouvez définir le type d'erreur à générer et le texte à imprimer à l'utilisateur.
Sujets connexes
Maîtrisez les fonctions Python. Apprenez à écrire du code réutilisable à l'aide de def, à définir des arguments, à renvoyer des valeurs et à comprendre la portée localement et globalement.
Classes Python et programmation orientée objetUne introduction complète aux classes Python, aux objets, à l'héritage et aux concepts de POO. Créez des modèles de données robustes et faites évoluer vos applications Python.
Ressources Python recommandées
Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.
Comment trier une liste en Python
Apprenez à trier une liste en Python à l'aide de la méthode sort() et de la fonction sorted(). Découvrez des exemples de tri de clés personnalisé et d’ordre inverse.
Aide-mémoire sur les types d'exceptions et d'erreurs intégrés Python
Guide de référence pour les types d’erreurs Python courants. Découvrez comment déboguer ValueError, TypeError, IndexError, KeyError et déclencher des exceptions.
Python vs JavaScript : quel langage de programmation est le meilleur ?
Une comparaison complète entre Python et JavaScript. Explorez les différences de syntaxe, les performances, les cas d'utilisation (backend et frontend) et des exemples de codage.