Imprimir una excepción en Python

Vaibhav Vaibhav 30 enero 2023
  1. Imprima una excepción usando bloques try-except-finally en Python
  2. Excepción de impresión usando el módulo traceback en Python
Imprimir una excepción en Python

En Python, una excepción es un error. Hay muchos errores o excepciones en Python, como TypeError, SyntaxError, KeyError, AttributeError, etc. estas excepciones detendrían la ejecución del programa. Los bloques try-except-finally en Python se pueden usar para imprimir estas excepciones sin detener la ejecución del programa.

Imprima una excepción usando bloques try-except-finally en Python

Considere el siguiente fragmento de código.

dictionary = {
    "hello": "world",
}
number = 25

try:
    number = number + dictionary["hello"]
    print(number)
except Exception as e:
    print(repr(e))

Producción :

TypeError("unsupported operand type(s) for +: 'int' and 'str'",)

En el código anterior, primero inicializamos un diccionario con hello como clave que apunta al valor de cadena world y una variable number. Luego, dentro del bloque try, intentamos acceder al valor de la cadena almacenado en el diccionario y agregarlo a la variable number.

Esta afirmación es práctica y conceptualmente incorrecta porque es imposible agregar una cadena a un entero. Entonces, el bloque except detecta este error e imprime el objeto Exception asociado con esta excepción en la consola.

Excepción de impresión usando el módulo traceback en Python

Python tiene un módulo integrado, traceback, para imprimir y formatear excepciones. Y facilita la impresión de toda la excepción en la consola.

En Python, puede generar excepciones manualmente utilizando la palabra clave raise. En el siguiente fragmento de código, usaremos la palabra clave raise para generar excepciones dentro del bloque try.

import traceback

try:
    raise KeyError
except Exception as e:
    traceback.print_exc()

Producción :

Traceback (most recent call last):
  File ".\main.py", line 4, in <module>
    raise KeyError
KeyError

En el código anterior, generamos una excepción KeyError y usamos la función print_exc() del módulo traceback para imprimir la excepción. Esta función imprime la información sobre la excepción y es una abreviatura de traceback.print_exception(*sys.exc_info(), limit, file, chain).

Para obtener más información sobre la función print_exception(), consulte los documentos oficiales aquí

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Artículo relacionado - Python Exception