Logia2.jpeg

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!