Imprimir una excepción en Python
-
Imprima una excepción usando bloques
try-except-finallyen Python -
Excepción de impresión usando el módulo
tracebacken 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í
