← retour aux snippets

contextlib: suppress pour ignorer des exceptions ciblées

Ignorer des erreurs attendues sans try/except verbeux.

objectif

Ignorer des erreurs attendues sans try/except verbeux.

code minimal

from contextlib import suppress
with suppress(FileNotFoundError):
    open("fichier-inexistant.txt").read()
print(True)  # attendu: True

utilisation

from contextlib import suppress
with suppress(ZeroDivisionError):
    1/0
print(True)

variante(s) utile(s)

from contextlib import suppress
with suppress(KeyError):
    {"a":1}["b"]
print(True)

notes

  • Limitez suppress aux exceptions précises, pas Exception global.
  • Améliore la lisibilité pour des opérations optionnelles.