try sans except en Python
Les exceptions en Python sont les erreurs détectées lors de l’exécution du code. Différents types d’exceptions sont NameError
, TypeError
, ZeroDivisionError
, OSError
et plus encore.
L’instruction try
en Python est utilisée pour tester un bloc de code pour les exceptions, et l’instruction except
est utilisée pour gérer ces exceptions. Lorsque le code du bloc try
génère une erreur, le code du bloc except
est exécuté.
Nous pouvons intercepter toutes les exceptions, y compris KeyboardInterrupt
, SystemExit
et GeneratorExit
. Cette méthode ne doit pas être utilisée pour gérer les exceptions car il s’agit d’une déclaration générale et masquera tous les bogues triviaux.
Nous verrons comment utiliser le bloc try
sans except
en Python. Pour y parvenir, nous devons essayer d’ignorer l’exception.
Nous ne pouvons pas avoir le bloc try
sans except
, donc, la seule chose que nous pouvons faire est d’essayer d’ignorer l’exception levée afin que le code n’aille pas dans le bloc except
et de spécifier l’instruction pass
dans le bloc except
comme indiqué précédemment. L’instruction pass
équivaut à une ligne de code vide.
On peut aussi utiliser le bloc finally
. Il exécutera le code, qu’une exception se produise ou non.
try:
a = 1 / 0
except:
pass
finally:
print("Example")
Production:
Example
Dans le code ci-dessus, si le bloc try
lève une erreur, le bloc except
affichera l’exception déclenchée.
Pour ignorer les exceptions, nous pouvons utiliser la fonction suppress()
du module contextlib
pour gérer les exceptions en Python
La fonction suppress()
du module contextlib
peut être utilisée pour supprimer des erreurs très spécifiques. Cette méthode ne peut être utilisée qu’en Python 3.
Par exemple,
from contextlib import suppress
with suppress(IndexError):
a = [1, 2, 3]
a[3]
Dans l’exemple ci-dessus, cela ne soulèvera pas l’IndexError
.