Introduction à la gestion des exceptions Python

Les exceptions sont gérées en python en utilisant deux techniques principales, elles sont une assertion et une gestion des exceptions. Nous discuterons des techniques de gestion des exceptions python dans ce chapitre
Tout événement qui dévie l'exécution normale du flux de programme est appelé une exception. Le bloc Try contient des codes de génération d'erreur possibles. La mise en ordre et la gestion de ces exceptions est un processus effectué par le bloc except qui est inséré à la fin de chaque bloc try. Un seul bloc try peut associer plus d'une exception à un moment donné, le bloc else se trouvant dans la section de flux de programme habituelle. Tout le code où aucune protection contre les blocages d'essai n'est nécessaire est placé dans le bloc else du programme.

Syntaxe:

try: Executes when suspicious code is executed
except Exception1: Executed when
exception 1 is raised
except Exception2: Executed when exception 2 is raised
else: If there is no exception then execute this block

Liste d'exceptions standard

Exception: Toutes les exceptions de la classe de base

StopIteration: quand aucun objet n'est pointé par la méthode suivante de l'itérateur, cette exception est levée

SystemExit: Hissé via la fonction sys.exit ().

StandardError: Except StopIteration et SystemExit, cela agit comme la classe de base pour toutes les fonctions intégrées.

ArithmeticError: Pour toutes les erreurs numériques, ces exceptions agissent comme la classe de base.

OverflowError: pour un type numérique si le calcul dépasse la valeur maximale possible, cette erreur est déclenchée.

FloatingPointError: l' échec d'une opération float déclenche cette erreur

ZeroDivisionError: déclenchée lorsqu'une situation de division par zéro se produit dans le code

AssertionError: lorsque l'instruction assert échoue, cette erreur est déclenchée

AttributeError: Lorsqu'une affectation ou une référence d'attribut échoue, cela déclenche cette erreur

EOFErroR: déclenché lorsqu'aucune entrée de la fonction et fin de fichier n'est atteinte

ImportError: déclenchée lors de l'échec d'une déclaration d'importation.

KeyboardInterrupt: déclenché en cas d'interruption de l'exécution du programme

LookupError: toutes les erreurs de recherche relèvent de cette classe de base

IndexError: déclenchée lorsque l'index n'est pas trouvé

KeyError: déclenchée lorsque le dictionnaire ne contient pas la valeur de clé mentionnée

NameError: déclenché pour un identifiant manquant localement ou globalement dans le programme

UnboundLocalError: déclenchée lors de l'utilisation d'une variable locale sans qu'aucune valeur ne lui soit affectée.

EnvironmentError: classe de base pour les erreurs orientées environnement qui se produisent en dehors de python

IOError: déclenchée lorsqu'un processus d'entrée / sortie échoue

SyntaxError: toutes les erreurs de syntaxe python sont gérées par cette exception

IndentationError: une indentation incorrecte entraînera ce type d'erreurs

SystemError: cela se produit dans une situation où l'interpréteur ne fonctionne pas comme prévu, mais cette erreur ne fait pas sortir le programme python de l'exécution

SystemExit: Lorsque la fonction sys.exit () est utilisée par l'interpréteur python, cela conduit à cette exception. cela fait que le code se termine anormalement lorsqu'il n'est pas traité correctement.

TypeError: Lorsqu'une opération n'est pas valide pour un type de données particulier, cette erreur est demandée

ValueError: lorsqu'une fonction contient un argument de type valide mais qu'une valeur incorrecte a été spécifiée pour cet argument de type

RuntimeError: Si l'une des catégories ci-dessus n'est pas satisfaite, cette erreur est déclenchée

NotImplementedError: déclenchée alors qu'une méthode non figurative qui veut être mise en pratique dans une classe héritée n'est en fait pas implémentée. La mise en ordre et la gestion de ces exceptions est un processus effectué par le bloc except qui est inséré à la fin de chaque bloc try.

Processus de gestion des exceptions en Python

  • Sauf clause avec plusieurs exceptions
  • Sauf clause sans exception mentionnée
  • Sauf clause avec arguments

Ci-dessous, nous discuterons du processus de gestion des exceptions en Python

1. Clause d'exception avec plusieurs exceptions

Cela permet à plus d'une instruction except d'être déclarée dans une seule clause except et toutes ces exceptions déclarées peuvent être déclenchées à partir de cette clause except.

Syntaxe:

try: Code block1
except(Exception1(, Exception2(, …ExceptionN)))):
Executes when one among the exception happens
else: Executed when no exception is raised

2. Sauf clause sans exception

Toutes les exceptions déclenchées par le bloc try peuvent être traitées ici.

Syntaxe:

try:
Code block1
except:
Executes if any type of exception happens
else:
If there is no exception then execute this block

3. Sauf clause avec arguments

La cause réelle de l'exception sera conservée dans la valeur de l'argument

Syntaxe:

try:
Code block1except
ExceptionType, Argument:
Argument value is printed here

4. Programme de gestion des exceptions

Syntaxe:

try:
fh = open("testfile1", "w")
try:
fh.write("Exception handeling")
finally:
print "Going to close the file"
fh.close()
except IOError:
print "Error: can\'t find file or read data"

Conclusion

Chaque langage de programmation détient le processus de lever une exception chaque fois qu'il fait face à un ensemble de situations inattendues et python est l'un d'entre eux qui produit des techniques profondes pour gérer ces exceptions, ce qui en fait un langage de programmation basé sur une base solide.

Article recommandé

Cela a été un guide pour la gestion des exceptions Python. Nous discutons ici de la liste d'exceptions et du processus standard avec la syntaxe. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -

  1. Avantages de Python
  2. Cadres Python
  3. Patterns en Python
  4. Compilateurs Python
  5. Gestion des exceptions dans VB.NET (exemples)
  6. Dictionnaire en Python
  7. Événements VB.Net