Ignorer une exception en Python

Vaibhhav Khetarpal 10 octobre 2023
  1. Utilisez l’instruction pass dans le bloc except en Python
  2. Utilisez l’instruction sys.exc_clear() dans le bloc except en Python
Ignorer une exception en Python

Une exception est un événement qui, lorsqu’il est déclenché, modifie le déroulement du programme.

Les exceptions résultent du fait que le programme est syntaxiquement correct mais donne toujours une erreur sur l’exécution du code. Cette erreur n’interrompt pas l’exécution du programme mais modifie plutôt le flux par défaut du programme.

En Python, nous gérons les exceptions à l’aide du bloc try...except. Ce didacticiel abordera plusieurs méthodes pour ignorer une exception et poursuivre le code en Python.

Utilisez l’instruction pass dans le bloc except en Python

L’instruction pass peut être considérée comme un espace réservé dans la programmation Python. Il renvoie une instruction NULL et, par conséquent, ne produit aucune valeur. Cependant, l’interpréteur Python n’ignore pas l’instruction pass et nous évitons d’obtenir des erreurs pour le code vide où l’instruction est utilisée.

Lorsque l’instruction pass est utilisée dans les instructions try...except, elle transmet simplement les erreurs et ne modifie pas le déroulement du programme Python.

Le code suivant utilise l’instruction pass dans le bloc except pour ignorer une exception et poursuivre le code en Python.

try:
    print(hey)
except Exception:
    pass

print("ignored the exception")

Le code ci-dessus fournit la sortie suivante.

ignored the exception

Bien que cette fonction fonctionne toujours dans Python 3 et supérieur, l’utilisation de l’instruction pass est considérée comme une mauvaise pratique de programmation. Il ne fournit pas de solution aux erreurs qui pourraient survenir pendant le programme. De plus, identifier les erreurs dans un programme donné est beaucoup plus difficile car il ignore chaque erreur.

Utilisez l’instruction sys.exc_clear() dans le bloc except en Python

Dans Python 2, la dernière exception levée est mémorisée par l’interpréteur, alors que cela ne se produit pas dans les versions plus récentes de Python. Par conséquent, l’instruction sys.exc_clear() n’est pas nécessaire dans les versions publiées après Python 3. L’instruction sys.exc_clear() peut être utilisée pour effacer la dernière exception levée de l’interpréteur Python.

Le code suivant utilise l’instruction sys.exc_clear() dans le bloc except pour ignorer une exception et poursuivre le code en Python.

try:
    print(hey)
except Exception:
    sys.exc_clear()

print("ignored the exception")

Bien que ces deux méthodes parviennent à faire fonctionner le programme sans aucune erreur, il n’est pas recommandé d’ignorer toutes les erreurs d’un programme. Cependant, ignorer uniquement une erreur particulière ou certaines erreurs est une pratique que la plupart des programmeurs font pour un programme sain.

Limiter l’utilisation des instructions pass et sys.exc_clear() dans un programme améliore également la lisibilité et l’identification des erreurs d’un programme.

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

Article connexe - Python Exception