Messaggio di eccezione in Python

Muhammad Waiz Khan 30 gennaio 2023
  1. Cattura il messaggio di eccezione in Python usando il metodo logger.exception()
  2. Cattura il messaggio di eccezione in Python usando il metodo logger.error()
  3. Cattura il messaggio di eccezione in Python usando il metodo print()
Messaggio di eccezione in Python

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',)

Articolo correlato - Python Exception