Gérer plusieurs exceptions
Fait partie de la section Logique et flux du Journey Python de Coddy. Leçon 65 sur 78.
En Python, nous pouvons gérer différents types d’exceptions dans des blocs except distincts. Cela nous permet de réagir différemment selon l’erreur précise qui se produit.
Commence par une structure try-except de base :
try:
# Code susceptible de lever des exceptions
pass
except Exception as e:
# Gérer toute exception
passPour gérer plusieurs exceptions, ajoute des blocs except spécifiques :
try:
number = int(input("Enter a number: "))
result = 10 / number
print(result)
except ValueError:
print("That's not a valid number!")
except ZeroDivisionError:
print("Cannot divide by zero!")Tu peux également intercepter plusieurs types d’exceptions dans un seul bloc except :
try:
# Du code
pass
except (ValueError, TypeError):
print("Invalid input type!")L’ordre des blocs except est important : place toujours les exceptions les plus spécifiques avant les plus générales.
Défi
FacileCrée une fonction appelée process_data qui :
- Prend une chaîne en entrée représentant des données potentielles
- Essaie de la convertir en entier, puis calcule 100 divisé par cet entier
- Renvoie le résultat
- Gère au moins 3 exceptions possibles :
ValueErrorsi l’entrée ne peut pas être convertie en entier (affiche "Input must be a number!")ZeroDivisionErrorsi l’entrée est 0 (affiche "Cannot divide by zero!")- Toute autre exception avec un gestionnaire générique (affiche "An unexpected error occurred!")
Essayez vous-même
def process_data(input_string):
try:
# Essayer de convertir la chaîne d'entrée en entier
# Calculer 100 divisé par la valeur d'entrée
# Renvoyer le résultat
except ValueError:
# Gérer le cas où l'entrée ne peut pas être convertie en entier
except ZeroDivisionError:
# Gérer le cas où l'entrée vaut zéro
except:
# Gérer toute autre exception inattendue
return NoneCette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique et flux
1Exploration des variables
ConstantesAffectations multiples de variablesÉchange de variablesVariables de remplacementArrondir les nombresConversion en liste4Application de carnet de contacts
Afficher le menuAjouter un contact7Ensembles, partie 2
Opérations mathématiques, partie 1Opérations mathématiques, partie 2Révision - Chasse au trésorSous-ensembles et sur-ensemblesParcourir les ensemblesRévision - Suivi du tournoi10Compréhensions de liste de base
La syntaxeCréer des listes simplesAjouter des conditionsUtiliser l’agrégation de donnéesRécapitulatif - La maison des listesRécapitulatif - Les éléments de la liberté13Système de gestion des stocks
Présentation du projetAjouter un article2Dictionnaires, partie 1
Qu’est-ce qu’un dictionnaire ?Créer un dictionnaireAccéder aux valeursModifier des dictionnairesRécapitulatif – Gestionnaire de recettes5Prise de décision avancée
Opérateur ternaireVérifier l’appartenanceVérifier l’identitéErreurs d’indentationRécapitulatif – Filtre de vacances8Gestionnaire des dossiers étudiants
Présentation du projetAjouter un étudiant11Fonctions avancées
Retourner plusieurs valeursFonctions lambda, partie 1Fonctions lambda, partie 2Défi récapitulatif - Tri avec lambdaFonctions récursives, partie 1Fonctions récursives, partie 2Récapitulatif - Somme d’une liste imbriquée14Fonctions d’ordre supérieur
La fonction mapLa fonction filterRécapitulatif - Validateur d’e-mailsRécapitulatif - Traitement de nombres3Dictionnaires, partie 2
Méthodes des dictionnairesDictionnaires imbriquésVérifier la présence de clésParcourir les dictionnairesRécapitulatif - Compteur de fréquences6Ensembles, partie 1
Qu’est-ce qu’un ensemble ?Opérations de baseMéthodes des ensemblesRécapitulatif - Supprimer les doublons9Agrégation avancée de données
Utiliser la sommeTrouver le minimum et le maximumTrier les données efficacementRécapitulatif - Trieur de dictionnaires12Gestion de base des erreurs
Qu’est-ce que la gestion des erreurs ?Le bloc try et exceptGérer plusieurs exceptionsRécapitulatif - Erreurs dans le panierEntraînez-vous par vous-même : Compilateur Python en ligne