Messaggio di eccezione in Python
-
Cattura il messaggio di eccezione in Python usando il metodo
logger.exception()
-
Cattura il messaggio di eccezione in Python usando il metodo
logger.error()
-
Cattura il messaggio di eccezione in Python usando il metodo
print()
Questo tutorial spiegherà diversi modi per acquisire i messaggi di eccezione in Python. La gestione delle eccezioni viene utilizzata per rispondere alle eccezioni che si verificano durante l’esecuzione del programma. È importante gestire le eccezioni; altrimenti, un programma andrà in crash ogni volta che si verifica un’eccezione.
L’istruzione try ... except
gestisce le eccezioni in Python. Ma dobbiamo anche acquisire i dettagli dell’eccezione che si verifica durante l’esecuzione del codice, in modo che possa essere risolta. I vari metodi che possono essere usati per catturare i messaggi di eccezione in Python sono spiegati di seguito.
Cattura il messaggio di eccezione in Python usando il metodo logger.exception()
Il metodo logger.exception()
restituisce un messaggio di errore e la traccia del log, che include dettagli come il numero di riga di codice in cui si è verificata l’eccezione. Il metodo logger.exception()
deve essere inserito all’interno dell’istruzione except
; altrimenti, non funzionerà correttamente in nessun altro posto.
L’esempio di codice seguente mostra l’uso corretto del metodo logger.exception()
con l’istruzione try ... except
per catturare il messaggio di eccezione in Python.
import logging
logger = logging.getLogger()
try:
x = 1 / 0
except Exception as e:
logger.exception("Exception occurred while code execution: " + str(e))
Produzione:
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
Cattura il messaggio di eccezione in Python usando il metodo logger.error()
Il metodo logger.error()
restituisce il messaggio di errore solo ogni volta che si verificano eccezioni all’interno del blocco try
. L’esempio di codice di come il metodo logger.error()
può catturare i messaggi di eccezione in Python è fornito di seguito.
import logging
logger = logging.getLogger()
try:
x = 1 / 0
except Exception as e:
logger.error("Exception occurred while code execution: " + str(e))
Produzione:
Exception occurred while code execution: division by zero
Come possiamo notare nell’esempio precedente, il metodo str(e)
riceve solo il messaggio di eccezione dall’oggetto eccezione e
e non il tipo di eccezione.
Il metodo repr(e)
può essere utilizzato per ottenere il tipo di eccezione lungo il messaggio di eccezione. L’esempio di codice seguente mostra l’uso e l’output del metodo repr(e)
:
import logging
logger = logging.getLogger()
try:
x = 1 / 0
except Exception as e:
logger.error("Exception occurred while code execution: " + repr(e))
Produzione:
Exception occurred while code execution: ZeroDivisionError('division by zero',)
Cattura il messaggio di eccezione in Python usando il metodo print()
Possiamo anche usare il metodo print()
per stampare il messaggio di eccezione. Il codice di esempio sotto mostra come catturare e stampare un messaggio di eccezione in Python usando il metodo print()
.
Codice di esempio:
try:
x = 1 / 0
except Exception as e:
print("Exception occurred while code execution: " + repr(e))
Produzione:
Exception occurred while code execution: ZeroDivisionError('division by zero',)