Menu
Coddy logo textTech

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 séparés. Cela nous permet de répondre différemment en fonction de l’error spécifique qui se produit.

Commencez par une structure try-except de base :

try:
    # Code qui pourrait lever des exceptions
    pass
except Exception as e:
    # Gérer toute exception
    pass

Pour gérer plusieurs exceptions, ajoutez 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!")

Vous pouvez é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 : placez toujours les exceptions plus spécifiques avant les plus générales.

challenge icon

Défi

Facile

Créez une fonction appelée process_data qui :

  1. Prend une entrée de type chaîne représentant des données potentielles
  2. Essaie de la convertir en entier, puis calcule 100 divisé par cet entier
  3. Renvoie le résultat
  4. Gère au moins 3 exceptions possibles : 
    • ValueError si l’entrée ne peut pas être convertie en entier (afficher "Input must be a number!")
    • ZeroDivisionError si l’entrée est 0 (afficher "Cannot divide by zero!")
    • Toute autre exception avec un gestionnaire générique (afficher "An unexpected error occurred!")

Essayez vous-même

def process_data(input_string):
    try:
        # Essayer de convertir la chaîne d'entrée en un entier
        
        # Calculer 100 divisé par la valeur d'entrée
        
        # Retourner le résultat
        
    except ValueError:
        # Gérer le cas où l'entrée ne peut pas être convertie en un entier
        
    except ZeroDivisionError:
        # Gérer le cas où l'entrée est zéro
        
    except:
        # Gérer toute autre exception inattendue
        
    return None
quiz iconTestez-vous

Cette 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

Entraînez-vous par vous-même : Compilateur Python en ligne