Menu
Coddy logo textTech

Gérer plusieurs exceptions

Fait partie de la section Logic & Flow du Journey Python de Coddy. Leçon 65 sur 78.

En Python, nous pouvons gérer différents types de exceptions dans des blocs except distincts. Cela nous permet de réagir différemment selon l’error spécifique qui se produit.

Commence par une structure de base try-except :

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 exceptions plus générales.

challenge icon

Défi

Facile

Crée une fonction appelée process_data qui :

  1. Prend une chaîne input représentant des données potentielles
  2. Essaie de la convertir en integer, puis calcule 100 divided par cet integer
  3. Retourne le result
  4. Gère au moins 3 exceptions possibles : 
    • ValueError si l'input cannot être converti en integer (afficher "Input must be a number!")
    • ZeroDivisionError si l'input vaut 0 (afficher "Cannot divide by zero!")
    • Toute other 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 Logic & Flow

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