Cómo ignorar excepciones de forma simple
En muchas ocasiones cuando estamos programando en Python deseamos capturar una excepción, pero no hacer nada en la cláusula except
, solo asegurarnos de que nuestro fragmento de código no vaya a morir cuando ocurra la excepción.
La manera en que solemos hacerlo es la siguiente:
Tomemos como ejemplo el querer eliminar un archivo y no hacer nada si no se encuentra el archivo.
try:
os.remove('some_file.tmp')
except FileNotFoundError:
pass
Sin embargo, hay otra manera en la que podemos hacer exactamente lo mismo y es la siguiente:
from contextlib import suppress
with suppress(FileNotFoundError):
os.remove('some_file.tmp')
Vale la pena aclarar que la función suppress
está disponible solamente para la versión de Python 3.4 en adelante
Pienso que utilizando la función suppress
podemos producir código bastante claro y legible hasta para una persona que no haya trabajado con excepciones en Python previamente.
Espero que les sea útil este tip.
¡Saludos!