¿Cómo convierto una excepción a una cadena en Python?

¿Cómo convierto una excepción a una cadena en Python?

Un "excepción"Es una circunstancia que interrumpe el flujo normal de instrucciones a lo largo de la ejecución de un programa. Python deja de ejecutar un programa/código cuando se lanza una excepción. Si eres un desarrollador de Python, probablemente te hayas encontrado con errores o excepciones en tu código. Python proporciona varios métodos para manejar estas excepciones con el "try-excepto" bloquear. Sin embargo, a veces es posible que desee convertir una excepción a una cadena para obtener más información sobre el error.

En este artículo de Python, exploraremos los enfoques para convertir una excepción a una cadena de Python.

Cómo convertir una excepción a una cadena de pitón?

Para convertir una excepción a una cadena, aplique los siguientes enfoques:

  • "str ()" Función.
  • "format_exc ()" Función.
  • "RepR ()" Función.

Método 1: Convierta una excepción a una cadena en Python usando la función "str ()"

La forma más sencilla de convertir una excepción a una cadena es a través del incorporado "str ()" función. Esta función acepta un objeto como argumento y recupera una representación de cadena del objeto. Devuelve un mensaje de error cuando el objeto de excepción se pasa como argumento.

Sintaxis

str (objeto)

Aquí, "objeto"Es cualquier objeto Python que se pueda convertir en una representación de cadena. La función "str ()" devuelve un objeto de cadena.

Ejemplo

El siguiente ejemplo ilustra el concepto discutido:

intentar:
Imprimir (1 + '3')
Excepto la excepción como E:
error_message = str (e)
imprimir (ERROR_MESSAGE)
imprimir (tipo (error_message))

En el código anterior, el "Error de tecleado"La excepción es atrapada por el"excepto" bloquear. El bloque "excepto" asigna el objeto de excepción a la variable "mi"Y luego se pasa al"str ()"Funciona como un argumento que lo convierte en una cadena.

Producción

En la salida anterior, la excepción se ha convertido en una cadena adecuadamente.

Método 2: Convierta una excepción a una cadena en Python utilizando "TraceBack.función format_exc () "

El "rastrear.format_exc ()"Función del"rastrear"El módulo también se puede usar para convertir una excepción a una cadena. Esta función devuelve un rastreo formateado para la última excepción que ocurrió. En el rastreo, encontrará/obtendrá el mensaje de error, la ubicación donde ocurrió el error y la pila de llamadas de función.

Sintaxis

rastrear.format_exc (limit = none, chain = true)

En la sintaxis anterior:

  • El "Límite (opcional)El parámetro indica el número de niveles de pila para mostrar para cada excepción en el rastreo. El valor predeterminado "Ninguno"Significa que todos los niveles se muestran.
  • El "cadena"El parámetro es opcional y su valor predeterminado es"verdadero". Cuando se establece en "Verdadero", la función imprime el rastreo completo de la excepción y todas las excepciones en la cadena. Configurarlo en "falso" imprime solo el traza de la excepción más reciente.

Ejemplo

Como ejemplo, veamos el siguiente fragmento de código:

Importar traza
intentar:
valor = 'hola'
imprimir (int (valor))
Excepto la excepción como E:
error_message = traza.format_exc ()
imprimir (ERROR_MESSAGE)
imprimir (tipo (error_message))

Según el código anterior, el "try-excepto"El bloque se usa para manejar la excepción e imprimir el mensaje de error utilizando el"rastrear"Módulo. El "rastrear.format_exc ()"La función recupera una cadena que contiene el rastro de la pila de la excepción.

Producción

Este resultado indica que la excepción se ha convertido con éxito en una cadena.

Método 3: Convierta una excepción a una cadena en Python usando la función "RepR ()"

En Python, el "RepR ()La función se utiliza para devolver una representación imprimible de un objeto en Python. Esta función también se puede aplicar para convertir una excepción en una cadena.

Sintaxis

RepR (objeto)

En esta sintaxis, "objeto"¿Es cualquier objeto Python cuya representación imprimible debe devolverse.

Ejemplo

Considere el siguiente código de ejemplo:

intentar:
valor = 'hola'
imprimir (int (valor))
Excepto la excepción como E:
ERROR_MESSAGE = REPR (E)
imprimir (ERROR_MESSAGE)
imprimir (tipo (error_message))

En el bloque de código anterior, el "RepR ()"La función se usa en el"exceptoBloque para atrapar la excepción de cara y convertirla en una cadena.

Producción

Según la salida anterior, la excepción a la cara se ha convertido en una cadena.

Conclusión

Para convertir una excepción a una cadena en Python, aplique el "str ()" función, "rastrear.format_exc ()"Función, o el"RepR ()" función. Todas estas funciones se usan combinadas con el "try-excepto"Bloques para atrapar y convertir la excepción de cara en una cadena. Esta guía presentó varios métodos para convertir una excepción a una cadena en Python utilizando numerosos ejemplos.