Mensagem de exceção em Python
-
Capturar mensagem de exceção em Python usando o método
logger.exception()
-
Capture mensagem de exceção em Python usando o método
logger.error()
-
Capture mensagem de exceção em Python usando o método
print()
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',)