Mensagem de exceção em Python

Muhammad Waiz Khan 30 janeiro 2023
  1. Capturar mensagem de exceção em Python usando o método logger.exception()
  2. Capture mensagem de exceção em Python usando o método logger.error()
  3. Capture mensagem de exceção em Python usando o método print()
Mensagem de exceção em Python

Este tutorial explicará diferentes maneiras de capturar mensagens de exceção em Python. O tratamento de exceções é usado para responder às exceções que ocorrem durante a execução do programa. É importante lidar com exceções; caso contrário, um programa irá travar sempre que ocorrer alguma exceção.

A instrução try ... except trata as exceções em Python. Mas também precisamos capturar os detalhes da exceção que ocorre durante a execução do código, para que possa ser resolvido. Os vários métodos que podem ser usados ​​para capturar as mensagens de exceção em Python são explicados abaixo.

Capturar mensagem de exceção em Python usando o método logger.exception()

O método logger.exception() retorna uma mensagem de erro e o rastreamento do log, que inclui detalhes como o número da linha de código em que a exceção ocorreu. O método logger.exception() deve ser colocado dentro da instrução except; caso contrário, não funcionará corretamente em nenhum outro lugar.

O exemplo de código a seguir demonstra o uso adequado do método logger.exception() com a instrução try ... except para capturar a mensagem de exceção em Python.

import logging

logger = logging.getLogger()

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

Resultado:

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

Capture mensagem de exceção em Python usando o método logger.error()

O método logger.error() retorna a mensagem de erro apenas quando ocorrem exceções dentro do bloco try. O exemplo de código de como o método logger.error() pode capturar mensagens de exceção em Python é fornecido abaixo.

import logging

logger = logging.getLogger()

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

Resultado:

Exception occurred while code execution: division by zero

Como podemos notar no exemplo acima, o método str(e) só obtém a mensagem de exceção do objeto de exceção e e não do tipo de exceção.

O método repr(e) pode ser usado para obter o tipo de exceção junto com a mensagem de exceção. O exemplo de código abaixo demonstra o uso e a saída do 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))

Resultado:

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

Capture mensagem de exceção em Python usando o método print()

Também podemos usar o método print() para imprimir a mensagem de exceção. O código de exemplo abaixo demonstra como capturar e imprimir uma mensagem de exceção em Python usando o método print().

Código de exemplo:

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

Resultado:

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

Artigo relacionado - Python Exception