Ignorar una excepción en Python

Vaibhhav Khetarpal 10 octubre 2023
  1. Utilice la declaración pass en el bloque except en Python
  2. Utilice la declaración sys.exc_clear() en el bloque except en Python
Ignorar una excepción en Python

Una excepción es un evento que, cuando se genera, altera el flujo del programa.

Las excepciones resultan de que el programa es sintácticamente correcto pero sigue dando un error en la ejecución del código. Este error no detiene la ejecución del programa, sino que cambia el flujo predeterminado del programa.

En Python, manejamos excepciones usando el bloque try...except. Este tutorial discutirá varios métodos para ignorar una excepción y continuar con el código en Python.

Utilice la declaración pass en el bloque except en Python

La declaración pass se puede considerar como un marcador de posición en la programación de Python. Devuelve una declaración NULL y, por lo tanto, no produce ningún valor. Sin embargo, el intérprete de Python no ignora la declaración de paso y evitamos obtener errores para el código vacío donde se usa la declaración.

Cuando se usa la instrucción pass en las instrucciones try...except, simplemente pasa los errores y no altera el flujo del programa Python.

El siguiente código usa la instrucción pass en el bloque except para ignorar una excepción y continuar con el código en Python.

try:
    print(hey)
except Exception:
    pass

print("ignored the exception")

El código anterior proporciona la siguiente salida.

ignored the exception

Aunque esta función siempre funciona en Python 3 y superior, usar la instrucción pass se considera una mala práctica de programación. No proporciona una solución a los errores que puedan surgir durante el programa. Además, identificar los errores en un programa dado es mucho más difícil, ya que ignora todos y cada uno de los errores.

Utilice la declaración sys.exc_clear() en el bloque except en Python

En Python 2, el intérprete recuerda la última excepción lanzada, mientras que no ocurre en las versiones más recientes de Python. Por lo tanto, la declaración sys.exc_clear() no es necesaria en las versiones publicadas después de Python 3. La declaración sys.exc_clear() se puede utilizar para borrar la última excepción lanzada del intérprete de Python.

El siguiente código usa la instrucción sys.exc_clear() en el bloque except para ignorar una excepción y continuar con el código en Python.

try:
    print(hey)
except Exception:
    sys.exc_clear()

print("ignored the exception")

Aunque estas dos formas logran que el programa se ejecute sin errores, no se recomienda ignorar todos los errores en un programa. Sin embargo, ignorar solo un error en particular o algunos errores es una práctica que la mayoría de los programadores hacen para un programa saludable.

Limitar el uso de la sentencia pass y la sentencia sys.exc_clear() en un programa también mejora la legibilidad e identificación de errores de un programa.

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

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

Artículo relacionado - Python Exception