Comment gérer une seule exception en python

Certaines choses que vous développez dans Python ont un terrible habitude de cracher des exceptions lorsque les valeurs des entrées de l'utilisateur inattendus. Une partie de la solution consiste à fournir une gamme vérification. Cependant, vérification de la plage ne résout pas le problème d'un texte de frappe de l'utilisateur telles que Bonjour en place d'une valeur numérique attendue. La gestion des exceptions est une solution plus complexe au problème, comme décrit dans les étapes suivantes.

Sommaire

1

Ouvrez une fenêtre Python Fichier.

Vous voyez un éditeur dans lequel vous pouvez taper le code d'exemple.

2

Tapez le code suivant dans la fenêtre - en appuyant sur ENTRÉE après chaque ligne:

essayez: Valeur = int (entrée ("Tapez un nombre entre 1 et 10:")) à l'exception ValueError: ("Vous devez taper un nombre compris entre 1 et 10") d'autre impression: si (valeur> 0) et (Value lt; = 10): print ("Vous avez tapé:" Value) else: print ("La valeur que vous avez saisi est incorrect!")

Le code dans le essayer bloc a ses exceptions traitées. Dans ce cas, la manipulation l'exception signifie obtenir entrée de l'utilisateur en utilisant la int (input ()) appels. Si une exception se produit en dehors de ce bloc, le code ne gère pas.




Avec la fiabilité à l'esprit, la tentation pourrait être de joindre tout le code exécutable dans un essayer bloc de sorte que chaque exception serait traitée. Cependant, vous voulez faire de votre gestion des exceptions petite et spécifique à faire localiser le problème plus facile.

La sauf bloc semble une exception spécifique dans ce cas: ValueError. Lorsque l'utilisateur crée un ValueError exception en tapant Bonjour la place d'une valeur numérique, ce bloc d'exception particulière est exécutée. Si l'utilisateur devait générer une autre exception, ce sauf bloc ne serait pas le manipuler.

La autre bloc contient tout le code qui est exécuté lorsque le essayer code de bloc est réussie (ne génère pas une exception). Le reste du code est dans ce bloc parce que vous ne voulez pas l'exécuter à moins que l'utilisateur ne fournit entrée valide. Lorsque l'utilisateur fournit un nombre entier comme entrée, le code peut alors gamme vérifier pour vous assurer qu'il est exact.

3

Choisissez Module Run-Run.

Vous voyez une fenêtre ouverte Python. L'application vous demande d'entrer un nombre entre 1 et 10.

Comment gérer une seule exception en python
Comment gérer une seule exception en python Agrandir
4

Tapez Bonjour et appuyez sur Entrée.

L'application affiche un message d'erreur.

5

Effectuez les étapes 3 et 4 de nouveau, mais au lieu de taper 5.5 Bonjour.

L'application génère le même message d'erreur.

Comment gérer une seule exception en python
Comment gérer une seule exception en python Agrandir
6

Effectuez les étapes 3 et 4 de nouveau, mais au lieu de taper 22 Bonjour.

L'application émet le message d'erreur de plage attendue. La gestion des exceptions ne pas désherber les erreurs de gamme. Vous devez toujours vérifier pour eux séparément.

7

Effectuez les étapes 3 et 4 de nouveau, mais au lieu de taper 7 Bonjour.

Cette fois, l'application signale enfin que vous avez fourni une valeur correcte de 7. Même si il semble que beaucoup de travail à effectuer cette niveau de vérification, vous ne pouvez pas vraiment être certain que votre application fonctionne correctement sans elle.

Comment gérer une seule exception en python
Comment gérer une seule exception en python Agrandir
8

Effectuez les étapes 3 et 4 de nouveau, mais appuyez sur Ctrl + C, Cmd + C, ou l'alternative pour votre plate-forme au lieu de taper quoi que ce soit.

L'application génère un KeyboardInterrupt exception. Parce que cette exception est pas traitée, il est toujours un problème pour l'utilisateur.


» » » » Comment gérer une seule exception en python