Mensaje de excepción en Python

Muhammad Waiz Khan 30 enero 2023
  1. Capturar un mensaje de excepción en Python usando el método logger.exception()
  2. Capturar un mensaje de excepción en Python usando el método logger.error()
  3. Captura del mensaje de excepción en Python usando el método print()
Mensaje de excepción en Python

Este tutorial explicará diferentes formas de capturar mensajes de excepción en Python. El manejo de excepciones se utiliza para responder a las excepciones que se producen durante la ejecución del programa. Es importante manejar las excepciones; de lo contrario, un programa se bloqueará cada vez que ocurra alguna excepción.

La sentencia try ... except maneja las excepciones en Python. Pero también necesitamos capturar los detalles de la excepción que se produce durante la ejecución del código, para poder resolverla. A continuación se explican los distintos métodos que se pueden utilizar para capturar los mensajes de excepción en Python.

Capturar un mensaje de excepción en Python usando el método logger.exception()

El método logger.exception() devuelve un mensaje de error y la traza del registro, que incluye detalles como el número de línea de código en el que se ha producido la excepción. El método logger.exception() debe colocarse dentro de la sentencia except; de lo contrario, no funcionará correctamente en ningún otro lugar.

El siguiente ejemplo de código demuestra el uso correcto del método logger.exception() con la sentencia try ... except para capturar el mensaje de excepción en Python.

import logging

logger = logging.getLogger()

try:
    x = 1 / 0
except Exception as e:
    logger.exception("Exception occurred while code execution: " + str(e))

Producción :

Exception occurred while code execution: division by zero
Traceback (most recent call last):
  File "<ipython-input-27-912703271615>", line 5, in <module>
    x = 1/0
ZeroDivisionError: division by zero

Capturar un mensaje de excepción en Python usando el método logger.error()

El método logger.error() devuelve el mensaje de error sólo cuando se producen excepciones dentro del bloque try. El ejemplo de código de cómo el método logger.error() puede capturar mensajes de excepción en Python se da a continuación.

import logging

logger = logging.getLogger()

try:
    x = 1 / 0
except Exception as e:
    logger.error("Exception occurred while code execution: " + str(e))

Producción :

Exception occurred while code execution: division by zero

Como podemos observar en el ejemplo anterior, el método str(e) sólo obtiene el mensaje de excepción del objeto de excepción e y no el tipo de excepción.

El método repr(e) puede ser utilizado para obtener el tipo de excepción junto con el mensaje de excepción. El siguiente ejemplo de código demuestra el uso y la salida del método repr(e):

import logging

logger = logging.getLogger()
try:
    x = 1 / 0
except Exception as e:
    logger.error("Exception occurred while code execution: " + repr(e))

Producción :

Exception occurred while code execution: ZeroDivisionError('division by zero',)

Captura del mensaje de excepción en Python usando el método print()

También podemos utilizar el método print() para imprimir el mensaje de excepción. El código de ejemplo que sigue demuestra cómo capturar e imprimir un mensaje de excepción en Python utilizando el método print().

Código de ejemplo:

try:
    x = 1 / 0
except Exception as e:
    print("Exception occurred while code execution: " + repr(e))

Producción :

Exception occurred while code execution: ZeroDivisionError('division by zero',)

Artículo relacionado - Python Exception