Python

Exception Python

Exception Python

Une exception est un événement qui se produit pendant l'exécution d'un programme pour terminer ou modifier le flux normal d'un programme. Une erreur, par exemple, lève une exception. Comme les autres langages de programmation, Python contient de nombreuses exceptions intégrées. Ces exceptions sont levées si une erreur est rencontrée lors de l'exécution du programme. Le type d'erreur détermine quelle exception doit être levée. Lorsqu'une exception se produit, l'interpréteur Python vérifie si l'exception est gérée ; sinon, il termine le programme. Cet article explique les exceptions en Python à travers divers exemples.

Exceptions Python intégrées

Comme indiqué précédemment, Python a de nombreuses exceptions intégrées qui sont levées lorsqu'une erreur se produit lors de l'exécution d'un programme. Chaque exception est dérivée d'une classe de base « Exception ». Voici quelques exceptions Python intégrées, ainsi qu'une brève description de chaque type d'exception :

Exception La description
Exception Chaque exception est dérivée de cette classe.
Erreur d'importation Cette exception est levée lorsqu'un module spécifique est importé et qu'il n'est pas trouvé.
EOFError Ceci est l'exception de fin de fichier. Cette exception se produit lorsque la fin du fichier est atteinte.
ZeroDivisionError Cette exception est levée lorsqu'un nombre est divisé par zéro.
KeyError Cette exception est levée si une certaine clé qui n'est pas définie dans un dictionnaire est spécifiée ou utilisée.
IndexError Cette exception est levée lorsque l'accès à un index de séquence qui n'est pas dans la plage a été tenté.
ErreurPointFlottant Cette exception est levée lorsqu'une opération à virgule flottante échoue.

Ce sont quelques-unes des exceptions intégrées dans Python. Veuillez visiter la documentation officielle pour plus d'informations sur l'utilisation des exceptions intégrées dans Python, située à l'adresse https://docs.python.org/3/bibliothèque/exceptions.html.

Utilisation des exceptions en Python

Les exceptions en Python sont gérées à l'aide de l'instruction try. Le morceau de code qui peut lever ou lever une exception est implémenté dans un bloc try. À côté du bloc try, un bloc except est implémenté pour gérer l'exception. Dans le bloc except, nous interceptons l'exception et décidons de l'opération à effectuer lorsque nous rencontrons cette exception particulière. La syntaxe d'écriture des blocs try et except est la suivante :

essayer:
effectuer l'opération ou la fonction
sauf:
fonctionnalité pour gérer l'exception

Maintenant, nous allons implémenter un code simple dans notre script Python en utilisant les blocs try et except.

Ici, nous imprimerons une variable 'nom' qui n'est pas définie. Cela lève une exception dans le bloc except.

#implémenter le bloc try
essayer:
imprimer (nom)
#implémenter le bloc except
sauf:
print("Une exception s'est produite")

Production

Si aucune exception ne se produit, seul le bloc try est exécuté. Dans le bloc except, une instruction est imprimée indiquant qu'une exception s'est produite.

Regardons un autre exemple où nous définissons la variable name :

#définition de la variable de nom
nom = "Marquer"
#implémenter le bloc try
essayer:
imprimer (nom)
#implémenter le bloc except
sauf:
print("Une exception s'est produite")

Production

Dans l'exemple ci-dessus, le bloc try est exécuté et le bloc except est ignoré car le programme ne lève aucune exception. Nous pouvons définir autant de blocs except dans notre programme que nous voulons. Chaque bloc except gère un type spécifique d'exception.

#implémenter le bloc try
essayer:
imprimer (nom)
#implémenter le bloc except pour attraper l'erreur de nom
sauf NameError :
print("La variable n'est pas définie")
#implémenter le bloc except
sauf:
print("Quelque chose s'est mal passé autre qu'une erreur de nom")

Production

En Python, Exception est la classe de base pour toutes les exceptions. Au lieu d'écrire le nom d'une exception particulière dans le bloc except, nous pouvons simplement écrire "Exception" et intercepter chaque type d'exception de cette manière.

#implémenter le bloc try
essayer:
imprimer (nom)
#implémenter le bloc except pour attraper l'erreur
sauf Exception comme exp :
imprimer(exp.__classer__)
#implémenter le bloc except
sauf:
print("Quelque chose s'est mal passé autre qu'une erreur de nom")

Production

L'exp.__class__ renvoie le nom de la classe d'exception.

De même, regardons un exemple de la classe « ZeroDivisionError ».

#implémenter le bloc try
essayer:
x=1/0
imprimer(x)
#implémenter le bloc except pour attraper l'erreur
sauf Exception comme exp :
imprimer(exp.__classer__)
#implémenter le bloc except
sauf:
print("Quelque chose s'est mal passé autre qu'une erreur de nom")

Production

Le bloc d'autre

Le bloc else est utilisé avec les blocs try et exception. Le bloc else définit un morceau de code qui est exécuté si le bloc try s'exécute avec succès et qu'aucune erreur ne se produit. Parfois, vous devrez peut-être imprimer un message ou exécuter une fonction lorsque le bloc try a été exécuté avec succès. Pour cette raison, nous pouvons implémenter le bloc else avec les blocs try et except.

Dans cet exemple, nous allons implémenter le bloc else dans notre script Python.

#implémenter le bloc try
essayer:
x=1/2
imprimer(x)
#implémenter le bloc except pour attraper l'erreur
sauf Exception comme exp :
imprimer(exp.__classer__)
#implémenter le bloc else
autre:
print("Tout s'est bien passé")

Production

Le bloc else est exécuté suite à l'exécution réussie du bloc try.

Regardons maintenant un autre exemple utilisant le bloc else.

#implémenter le bloc try
essayer:
nom="Marquer"
#implémenter le bloc except pour attraper l'erreur
sauf Exception comme exp :
imprimer(exp.__classer__)
#implémenter le bloc else
autre:
print("Le nom est : ",nom)

Production

Dans l'exemple ci-dessus, la variable name est définie à l'intérieur du bloc try et est imprimée dans le bloc else.

Le bloc enfin

le finalement Le bloc contient le morceau de code qui doit être exécuté, que le bloc try lève ou non une exception. Le bloc finally est facultatif et est déclaré avec le bloc try. Par exemple, si nous avons ouvert un fichier texte pour lire le bloc try et qu'il génère une erreur ou une exception, il est préférable de placer le fichier dans le bloc finally, même si l'erreur se produit. Implémentons le bloc finally dans notre script Python.

#implémenter le bloc try
essayer:
imprimer(mon_dict)
#implémenter le bloc except pour attraper l'erreur
sauf Exception comme exp :
imprimer(exp.__classer__)
#implémenter le bloc finally
finalement:
print("Ceci est le bloc final")
print("Le bloc finally est exécuté")

Production

Dans la sortie, on peut voir que le bloc try lève une exception. Cependant, le bloc finally est exécuté à la fin.

Maintenant, ouvrons un fichier texte dans le bloc try, qui lève une exception tandis que le fichier inclus dans le bloc finally.

#implémenter le bloc try
essayer:
fileObj=open("monétudiant.xml","r")
fileObj.chercher (-2)
print(fileObj.readlines())
#implémenter le bloc except
sauf Exception comme exp :
imprimer(exp.__classer__)
#implémenter le bloc finally
finalement:
fileObj.Fermer()
print("Le fichier est fermé avec succès")

Production

Comme vous pouvez le voir, quelle que soit l'erreur de valeur, le fichier a été fermé avec succès dans le bloc finally.

Lever une exception

Bien que les exceptions soient levées automatiquement lorsqu'une erreur se produit, en Python, vous pouvez également lever des exceptions manuellement. le élever le mot-clé est utilisé pour lever ou lever l'exception.

Nous allons maintenant lever quelques exceptions en utilisant le mot-clé raise. Dans l'exemple suivant, la condition if est implémentée pour vérifier les nombres non négatifs. S'il existe des nombres non négatifs, l'exception « Les nombres non négatifs ne sont pas autorisés » est levée.

#déclarer deux variables numériques
nombre1 = 20
nombre2= -10
si ((num1<0) | (num2<0)):
raise Exception("Les nombres non négatifs ne sont pas autorisés")
autre:
imprimer(num1+num2)

Production

Conclusion

Une exception se produit en réponse à une erreur lors de l'exécution. En Python, nous pouvons gérer les exceptions en utilisant les blocs try et except. Cet article a expliqué comment utiliser les exceptions en Python à travers divers exemples.

Remappez les boutons de votre souris différemment pour différents logiciels avec X-Mouse Button Control
Peut-être que vous avez besoin d'un outil qui pourrait faire changer le contrôle de votre souris avec chaque application que vous utilisez. Si tel est...
Examen de la souris sans fil Microsoft Sculpt Touch
J'ai lu récemment sur le Microsoft Sculpt Touch souris sans fil et j'ai décidé de l'acheter. Après l'avoir utilisé pendant un certain temps, j'ai déci...
Trackpad et pointeur de souris à l'écran AppyMouse pour tablettes Windows
Les utilisateurs de tablettes ratent souvent le pointeur de la souris, surtout lorsqu'ils ont l'habitude d'utiliser les ordinateurs portables. Les sma...