Vidéo: Python Classes and Objects || Python Tutorial || Learn Python Programming 2025
Une stratégie pour gérer les exceptions dans Python consiste à fournir des clauses exception spécifiques pour toutes les exceptions connues et des clauses génériques except pour gérer les exceptions inconnues. Découvrez la hiérarchie d'exception utilisée par Python. Lors de l'affichage de ce graphique, BaseException est l'exception la plus élevée. La plupart des exceptions sont dérivées de Exception. Lorsque vous travaillez avec des erreurs mathématiques, vous pouvez utiliser l'ArithmeticError générique ou une exception ZeroDivisionError plus spécifique.
Python évalue les clauses except dans l'ordre dans lequel elles apparaissent dans le fichier de code source. La première clause est examinée en premier, la seconde est examinée en deuxième, et ainsi de suite. Les étapes suivantes vous aident à examiner un exemple qui illustre l'importance de l'utilisation de l'ordre d'exception correct. Dans ce cas, vous effectuez des tâches qui entraînent des erreurs mathématiques.
-
Ouvrez une fenêtre de fichier Python.
Vous voyez un éditeur dans lequel vous pouvez taper l'exemple de code.
-
Tapez le code suivant dans la fenêtre - en appuyant sur Entrée après chaque ligne:
essayez: Value1 = int (entrée ("Tapez le premier nombre:")) Value2 = int (input (" Tapez le deuxième nombre: ")) Sortie = Value1 / Value2 sauf ValueError: print (" Vous devez taper un nombre entier! ") Sauf KeyboardInterrupt: print (" Vous avez appuyé sur Ctrl + C! ") Sauf ArithmeticError: print (" Un undefined erreur mathématique survenue. ") sauf ZeroDivisionError: print (" Tentative de division par zéro! ") else: print (Sortie)
Le code commence par l'obtention de deux entrées: Value1 et Value2. Les deux premières clauses except gèrent les entrées inattendues. Les deuxièmes clauses sauf gèrent les exceptions mathématiques, telles que la division par zéro. Si tout va bien avec l'application, la clause else s'exécute, ce qui imprime le résultat de l'opération.
-
Choisissez Exécuter → Exécuter le module.
Vous voyez une fenêtre Python Shell ouverte. L'application vous demande de taper le premier nombre.
-
Tapez Hello et appuyez sur Entrée.
Comme prévu, Python affiche le message d'exception ValueError. Cependant, il est toujours rentable de vérifier les problèmes potentiels.
-
Choisissez Exécuter → Exécuter le module à nouveau.
Vous voyez une fenêtre Python Shell ouverte. L'application vous demande de taper le premier nombre.
-
Tapez 8 et appuyez sur Entrée.
L'application vous demande d'entrer le deuxième numéro.
-
Tapez 0 et appuyez sur Entrée.
Vous voyez le message d'erreur pour l'exception ArithmeticError. Ce que vous devriez voir est l'exception ZeroDivisionError car elle est plus spécifique que l'exception ArithmeticError.
-
Inversez l'ordre des deux exceptions pour qu'elles ressemblent à ceci:
sauf ZeroDivisionError: print ("Tentative de division par zéro!") Sauf ArithmeticError: print ("Une erreur mathématique non définie s'est produite.") > Effectuez les étapes 5 à 7 à nouveau.
-
Cette fois, vous voyez le message d'exception ZeroDivisionError, car les exceptions apparaissent dans le bon ordre.
Répétez les étapes 5 à 7, mais tapez 2 pour le deuxième nombre au lieu de 0.
-
Cette fois, l'application signale enfin une valeur de sortie de 4. 0.
Notez que la sortie est une variable flottante. valeur du point. La division aboutit à une valeur à virgule flottante, sauf si vous spécifiez que vous voulez un résultat entier à l'aide de l'opérateur de division de planchers (//).
