Ignorer une exception en Python
-
Utilisez l’instruction
pass
dans le blocexcept
en Python -
Utilisez l’instruction
sys.exc_clear()
dans le blocexcept
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 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