Exception Python

Exception Python

Une exception est un événement qui survient lors de l'exécution d'un programme pour mettre fin ou modifier le flux normal d'un programme. Une erreur, par exemple, soulève une exception. Comme d'autres langages de programmation, Python contient de nombreuses exceptions intégrées. Ces exceptions sont soulevées si une erreur est rencontrée lorsque le programme est exécuté. Le type d'erreur détermine quelle exception doit être soulevée. Lorsqu'une exception se produit, l'interprète Python vérifie si l'exception est gérée; Sinon, il met fin au programme. Cet article explique les exceptions dans Python à travers divers exemples.

Exceptions Python intégrées

Comme discuté précédemment, Python a de nombreuses exceptions intégrées qui sont soulevé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». Les éléments suivants incluent quelques exceptions Python intégrées, ainsi qu'une courte description de chaque type d'exception:

Exception Description
Exception Chaque exception est dérivée de cette classe.
Importateur Cette exception est soulevée lorsqu'un module spécifique est importé, et 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.
Zérodivisionerror Cette exception est soulevée lorsqu'un nombre est divisé par zéro.
Merle Cette exception est soulevé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 augmentée lorsque l'accès à un index de séquence qui n'est pas dans la plage a été tenté.
Floatingpointerror Cette exception est augmentée lorsqu'une opération à virgule flottante est échouée.

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

Utilisation de l'exception dans Python

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

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

Maintenant, nous implémenterons un code simple dans notre script Python en utilisant les blocs d'essai et sauf.

Ici, nous allons imprimer une variable «nom» qui n'est pas définie. Cela soulève une exception dans le bloc sauf.

# implémentation du bloc d'essai
essayer:
imprimer (nom)
# implémentation du bloc sauf
sauf:
imprimer ("une exception s'est produite")

Sortir

Si aucune exception ne se produit, alors seul le bloc d'essai est exécuté. Dans le bloc sauf, une déclaration est imprimée qu'une exception s'est produite.

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

#Defining la variable de nom
name = "Mark"
# implémentation du bloc d'essai
essayer:
imprimer (nom)
# implémentation du bloc sauf
sauf:
imprimer ("une exception s'est produite")

Sortir

Dans l'exemple ci-dessus, le bloc d'essai est exécuté et le bloc sauf est sauté car le programme n'augmente aucune exception. Nous pouvons définir autant de blocs sauf de notre programme que nous le souhaitons. Chaque Block sauf gère un type d'exception spécifique.

# implémentation du bloc d'essai
essayer:
imprimer (nom)
# implémentation du bloc sauf pour attraper l'erreur de nom
Sauf NomError:
imprimer ("la variable n'est pas définie")
# implémentation du bloc sauf
sauf:
imprimer ("quelque chose s'est mal passé autre que l'erreur de nom")

Sortir

Dans Python, l'exception est la classe de base pour toutes les exceptions. Au lieu d'écrire le nom d'une exception particulière dans le bloc sauf, nous pouvons simplement écrire «Exception» et attraper chaque type d'exception de cette manière.

# implémentation du bloc d'essai
essayer:
imprimer (nom)
# implémentation du bloc sauf pour attraper l'erreur
sauf l'exception en tant qu'EXP:
Imprimer (Exp.__classe__)
# implémentation du bloc sauf
sauf:
imprimer ("quelque chose s'est mal passé autre que l'erreur de nom")

Sortir

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

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

# implémentation du bloc d'essai
essayer:
x = 1/0
Imprimer (x)
# implémentation du bloc sauf pour attraper l'erreur
sauf l'exception en tant qu'EXP:
Imprimer (Exp.__classe__)
# implémentation du bloc sauf
sauf:
imprimer ("quelque chose s'est mal passé autre que l'erreur de nom")

Sortir

Le bloc else

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

Dans cet exemple, nous implémenterons le bloc Else dans notre script Python.

# implémentation du bloc d'essai
essayer:
x = 1/2
Imprimer (x)
# implémentation du bloc sauf pour attraper l'erreur
sauf l'exception en tant qu'EXP:
Imprimer (Exp.__classe__)
# implémentation du bloc else
autre:
imprimer ("tout s'est bien passé")

Sortir

Le bloc Else est exécuté après l'exécution réussie du bloc d'essai.

Laissez maintenant regarder un autre exemple en utilisant le bloc Else.

# implémentation du bloc d'essai
essayer:
name = "Mark"
# implémentation du bloc sauf pour attraper l'erreur
sauf l'exception en tant qu'EXP:
Imprimer (Exp.__classe__)
# implémentation du bloc else
autre:
print ("Le nom est:", nom)

Sortir

Dans l'exemple ci-dessus, la variable de nom est définie à l'intérieur du bloc d'essai et est imprimée dans le bloc Else.

Le bloc enfin

Le enfin Block contient le morceau de code qui doit être exécuté, que le bloc d'essai augmente une exception. Le bloc enfin est facultatif et est déclaré avec le bloc d'essai. Par exemple, si nous avons ouvert un fichier texte pour lire le bloc d'essai et que cela soulève une erreur ou une exception, il est préférable d'enfermer le fichier dans le bloc final, même si l'erreur se produit. Implémentez le bloc finalement dans notre script python.

# implémentation du bloc d'essai
essayer:
imprimer (my_dict)
# implémentation du bloc sauf pour attraper l'erreur
sauf l'exception en tant qu'EXP:
Imprimer (Exp.__classe__)
# implémentation du bloc enfin
enfin:
imprimer ("c'est le bloc enfin")
print ("le bloc final est exécuté")

Sortir

Dans la sortie, on peut voir que le bloc d'essai soulève une exception. Cependant, le bloc final est exécuté à la fin.

Maintenant, ouvrons un fichier texte dans le bloc d'essai, qui soulève une exception tandis que le fichier enferme dans le bloc final.

# implémentation du bloc d'essai
essayer:
fileoBj = Open ("Mystudent.xml "," r ")
fileobj.chercher (-2)
Imprimer (FileObj.LEADLINES ())
# implémentation du bloc sauf
sauf l'exception en tant qu'EXP:
Imprimer (Exp.__classe__)
# implémentation du bloc enfin
enfin:
fileobj.fermer()
imprimer ("le fichier est fermé avec succès")

Sortir

Comme vous pouvez le voir, quelle que soit l'erreur de valeur, le fichier a été fermé avec succès à l'intérieur du bloc final.

Faire exception

Bien que les exceptions soient augmentées automatiquement lorsqu'une erreur se produit, dans Python, vous pouvez également augmenter les exceptions manuellement. Le augmenter Le mot-clé est utilisé pour élever ou lancer l'exception.

Nous allons maintenant soulever quelques exceptions en utilisant le mot-clé Raisier. Dans l'exemple suivant, la condition IF est mise en œuvre 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 augmenté.

#Declage deux variables de nombre
num1 = 20
num2 = -10
if ((num1<0) | (num2<0)):
augmenter l'exception ("les nombres non négatifs ne sont pas autorisés")
autre:
imprimer (num1 + num2)

Sortir

Conclusion

Une exception se produit en réponse à une erreur au moment de l'exécution. Dans Python, nous pouvons gérer les exceptions en utilisant l'essai et sauf les blocs. Cet article a expliqué comment utiliser des exceptions dans Python à travers divers exemples.