Gestion des exceptions en Python : gestion des exceptions à l'aide de Try Except

Publié: 2021-06-29

En rencontrant une erreur, un programme de Python se termine. Les erreurs sont généralement des problèmes survenant dans un programme qui arrête son exécution. Les erreurs peuvent être dues à une erreur de syntaxe ou peuvent être une exception. Chaque fois qu'une instruction incorrecte est détectée par l'analyseur, une erreur de syntaxe se produit.

Cependant, lorsque le code avec la syntaxe correcte génère une erreur, cela s'appelle une exception. Diverses exceptions intégrées sont disponibles en python. Ceux-ci sont déclenchés avec l'apparition d'événements internes où le flux normal d'un programme est modifié.

Par conséquent, les exceptions peuvent être définies comme certaines conditions de programme inhabituelles qui entraînent une interruption du code et, par conséquent, le déroulement du programme est interrompu.

L'exécution d'un programme s'arrête dès qu'il rencontre une exception. Cela arrête encore l'exécution du code. Par conséquent, les exceptions sont des erreurs résultant de l'exécution qui ne peuvent pas être gérées par le script python.

Pour la gestion des exceptions en python , le langage de script python fournit une solution pour que l'exécution du code se poursuive et qu'il n'y ait pas d'interruptions. L'absence de gestion des exceptions arrête l'exécution du code qui existe après le code qui lève une exception.

Plusieurs options intégrées sont disponibles en python qui permettent l'exécution d'un programme sans aucune interruption, y compris les exceptions courantes. Parallèlement à cela, il existe une disposition d' exceptions personnalisées python . Pour tout programme python, les exceptions courantes pouvant être levées sont :

  • ZeroDivisionError : ce type d'exception se produit lorsque zéro est utilisé pour diviser un nombre.
  • NameError : chaque fois qu'un programme ne parvient pas à trouver un nom, qu'il soit global ou local, ce type d'exception se produit.
  • IndentationError : une indentation incorrecte donne lieu à l'indentationError.
  • IOError : L'échec d'une opération d'entrée-sortie entraîne IOError.
  • EOFError : Il se produit dans le fonctionnement continu d'un programme même lorsque le

la fin du fichier est atteinte.

Table des matières

Lever une exception

Pour lancer une exception sous certaines conditions, la relance est utilisée.
L'exécution du programme est stoppée et l'exception associée est affichée à l'écran. L'affichage des exceptions permet aux utilisateurs de savoir quel pourrait être le problème sous-jacent.

En python, grâce à l'utilisation de la clause raise, nous pouvons lever une exception. L'application est utile dans les cas où le programme doit être arrêté en levant une exception.

Par exemple : Soi-disant, un programme a besoin d'environ 1 Go de mémoire pour son exécution et il essaie d'occuper 1 Go, dans ce cas, pour arrêter l'exécution du programme, une exception peut être levée.

Syntaxe pour déclencher une exception :

Classe_exception,<valeur>

Donc,

  • 'raise' est utilisé pour déclencher une exception dans un programme.
  • Une valeur peut être fournie à une exception qui peut être fournie à la parenthèse.
  • L'accès à la valeur peut se faire avec le mot-clé « comme ». La valeur donnée à l'exception peut être stockée dans la variable de référence notée « e ».
  • Pour spécifier un type d'exception, la valeur peut être transmise à une exception.

AssertionError

Une assertion peut être faite en python au lieu de laisser le programme planter. Une affirmation est faite qu'une condition spécifique est remplie par le programme. Le programme continuera à s'exécuter si la condition est vraie. Sinon, une exception AssertionError est levée par le programme lorsque la condition s'avère fausse.

Gestion des exceptions via le bloc try and except

Les exceptions lancées en python sont interceptées puis gérées par les blocs try et except en python. Le code dans le bloc try est exécuté normalement en tant que partie du programme. L'autre bloc comprend des instructions qui sont exécutées en réponse aux exceptions levées par le programme dans le bloc try.

Le programme lève une exception chaque fois qu'il rencontre une erreur dans un code syntaxiquement correct. Si les exceptions levées ne sont pas gérées correctement, il y aura un plantage dans les programmes. Dans de tels scénarios, le bloc except détermine la réponse du programme à cette exception.

L'application de la clause try and except sera mieux comprise à travers l'exemple suivant tiré de la source mentionnée.

Dans ce cas, chaque fois qu'il y a une occurrence d'une exception, le programme continuera à s'exécuter et informera l'utilisateur que le programme n'a pas réussi plutôt que de donner une sortie vide.

Paiement : Idées et sujets de projet Python

Le programme a montré le type d'erreur généré par l'appel de la fonction. Cependant, l'erreur renvoyée par la fonction peut être interceptée pour avoir une idée de ce qui s'est réellement passé.

L'exécution du code dans une machine Windows générera ce qui suit

Le message affiché indique d'abord une AssertionError par laquelle l'utilisateur est informé que la fonction ne peut être exécutée que sur un système de système d'exploitation Linux. Le deuxième message donne en outre des informations sur la fonction qui n'a pas pu être exécutée.
Non existence si file.log génère une sortie avec le message « Impossible d'ouvrir file.log ».

Le programme continuera à s'exécuter car il s'agit d'un message qui relaie les informations à l'utilisateur. De nombreuses exceptions intégrées sont disponibles dans les documents Python. Une exception telle que décrite est illustrée ci-dessous.

La non-existence de file.log dans ce cas générera la sortie suivante.

Diverses exceptions peuvent être interceptées en utilisant davantage d'appels de fonction dans la clause try. Cependant, lors de la détection d'une exception, les instructions de la clause try s'arrêtent.

La clause else

L'utilisation de la clause else des instructions peut aider à demander au programme d'exécuter un bloc d'instructions uniquement lorsqu'il n'y a pas d'exceptions.

La clause else a été exécutée uniquement parce qu'il n'y avait pas d'exceptions. Si le code contient des exceptions, il en résultera ce qui suit.

Exceptions personnalisées Python

Python a un certain nombre d'exceptions intégrées qui génèrent une erreur chaque fois qu'il y a quelque chose qui ne va pas dans le programme. Cependant, l'utilisateur doit créer des exceptions personnalisées dans les cas où son objectif doit être atteint.

Une nouvelle classe peut être créée pour définir les exceptions personnalisées. Directement ou indirectement, ces classes doivent être dérivées de la classe des exceptions intégrées.

La classe définie par l'utilisateur CustomError est créée et est héritée de la classe Exception. Semblables aux autres exceptions, ces exceptions sont également déclenchées par l'utilisation de 'raise' avec un message d'erreur facultatif.

Les exceptions définies par l'utilisateur doivent être placées dans un fichier séparé chaque fois qu'il y a un développement d'un programme python volumineux. C'est généralement une bonne pratique de le faire et c'est suivi par la plupart des modules standard où les exceptions sont définies séparément comme errors.py ou exceptions.py.

Les exceptions personnalisées python sont simples et comme les classes normales implémentent tout, elles suivent également la même chose.

Syntaxe et exemples

Considérons deux variables qui sont a et b. L'entrée des variables est prise par l'utilisateur et la division des nombres est effectuée. Maintenant, si le dénominateur entré par l'utilisateur est un zéro.

Pour gérer ces exceptions, les blocs try-except peuvent être ajoutés au programme. Pour tout type de code qui conduit à un soupçon de levée d'exceptions. Il doit être placé dans le bloc try des instructions.

Syntaxe d'un bloc try

essayer:

#code

sauf Exception1 :

#code

sauf Exception2 :

#code

#code

Il montre l'utilisation d'instructions try-except où le code est placé dans le bloc try et est exécuté lorsqu'il n'y a pas d'exceptions dans le code.

Syntaxe de l'instruction else avec try-except

essayer

#essayez les déclarations

Sauf exception1

#code

Autre

#exécution de code lorsqu'il n'y a pas d'exception

Quelques points importants :

  • L'exception ne doit pas être spécifiée via une déclaration d'exception en python.
  • Plusieurs exceptions peuvent être déclarées dans un code grâce à l'utilisation d'un bloc try car il peut y avoir de nombreuses instructions à l'intérieur d'un bloc try qui peuvent lever des exceptions de différents types.
  • Un bloc else peut être spécifié avec un bloc try qui est exécuté lorsqu'il n'y a pas d'exception levée par le bloc try.
  • Le bloc else doit contenir des instructions qui ne sont pas responsables de la levée d'exceptions.

Lisez également : Principales raisons pour lesquelles Python est populaire auprès des développeurs

Conclusion

Dans cet article, nous avons brièvement abordé le concept de gestion des exceptions en python avec quelques exemples. Outre les exceptions intégrées, les exceptions personnalisées python sont également définies brièvement. Maintenant, vous pouvez connaître l'importance des exceptions et la gestion des exceptions en python .

Si vous souhaitez en savoir plus sur le langage python et son implémentation dans la science des données, vous pouvez consulter le cours suivant de upGrad "Executive PG Program in Data Science".

Le cours en ligne est conçu pour tous les professionnels débutants appartenant au groupe d'âge de 21 à 45 ans. Avec plus de 20 sessions en direct et une connaissance pratique de plus de 14 outils et langages de programmation, le cours vous guidera vers la perfection. Toutes les questions peuvent être envoyées par message. Notre équipe vous aidera.

Combien de types d'erreurs existe-t-il en Python ?

Il existe principalement 2 catégories d'erreurs distinctes dans Python - Erreurs de syntaxe et exceptions. Erreurs de syntaxe : Les erreurs de syntaxe sont causées lorsqu'une ligne de code a une syntaxe défectueuse. C'est l'erreur la plus courante et elle est détectée lors de l'analyse du programme. Les erreurs incluent un opérateur manquant, une indentation incorrecte, une faute d'orthographe de mot-clé, deux-points manquants, des parenthèses laissées et d'autres erreurs minimes dans la syntaxe. Exceptions : les exceptions sont les erreurs détectées lors de l'exécution du programme. Une fois que le programme a réussi le test de syntaxe, il passe par une vérification des erreurs logiques. Python possède une riche collection d'exceptions intégrées. Vous pouvez également créer des exceptions personnalisées définies par l'utilisateur.

Quelle est la principale différence entre une erreur de syntaxe et une exception ?

Une erreur de syntaxe se produit lorsque le code ou une ligne de code est syntaxiquement incorrect. Lorsqu'une erreur de syntaxe se produit dans un code, le programme se termine. Une erreur de syntaxe peut se produire en manquant un deux-points ou même en mal orthographiant un mot clé.
Cependant, les exceptions sont tout à fait différentes. Une exception peut être considérée comme une anomalie qui perturbe le déroulement du programme. Même si le programme est syntaxiquement correct, l'exception peut se produire. Contrairement à une erreur, le code s'exécute jusqu'à la ligne où l'exception se produit.

Quel est le rôle du mot clé raise en Python ?

Le mot-clé raise est utilisé pour déclencher une exception en Python. Le type d'erreur peut également être déclenché et vous pouvez également ajouter du texte à afficher au moment de la levée de l'exception. Il s'avère très pratique lorsque vous devez vérifier votre code pour les entrées.