Stampa un'eccezione in Python

Vaibhav Vaibhav 22 giugno 2021
  1. Stampa un’eccezione usando i blocchi try-except-finally in Python
  2. Eccezione di stampa usando il modulo traceback in Python
Stampa un'eccezione in Python

In Python, un’eccezione è un errore. Ci sono molti errori o eccezioni in Python, come TypeError, SyntaxError, KeyError, AttributeError, ecc. Usiamo try-except-finally in Python per gestire queste eccezioni perché, senza questi blocchi, queste eccezioni interromperanno l’esecuzione del programma. I blocchi try-except-finally in Python possono essere usati per stampare queste eccezioni senza interrompere l’esecuzione del programma.

Stampa un’eccezione usando i blocchi try-except-finally in Python

Considera il seguente frammento di codice.

dictionary = {
    "hello": "world",
}
number = 25

try:
    number = number + dictionary["hello"]
    print(number)
except Exception as e:
    print(repr(e))

Produzione:

TypeError("unsupported operand type(s) for +: 'int' and 'str'",)

Nel codice sopra, inizializziamo prima un dizionario con hello come chiave che punta al valore di stringa world e una variabile numero. Quindi all’interno del blocco try, stiamo cercando di accedere al valore della stringa memorizzato nel dictionary e di aggiungerlo alla variabile number.

Questa affermazione è sia praticamente che concettualmente sbagliata perché è impossibile aggiungere una stringa a un intero. Quindi il blocco except rileva questo errore e stampa l’oggetto Exception associato a questa eccezione nella console.

Eccezione di stampa usando il modulo traceback in Python

Python ha un modulo integrato, traceback, per la stampa e la formattazione delle eccezioni. E semplifica la stampa dell’intera eccezione nella console.

In Python, puoi sollevare manualmente le eccezioni usando la parola chiave raise. Nel seguente frammento di codice, useremo la parola chiave raise per sollevare eccezioni all’interno del blocco try.

import traceback

try:
    raise KeyError
except Exception as e:
    traceback.print_exc()

Produzione:

Traceback (most recent call last):
  File ".\main.py", line 4, in <module>
    raise KeyError
KeyError

Nel codice sopra, solleviamo un’eccezione KeyError e usiamo la funzione print_exc() dal modulo traceback per stampare l’eccezione. Questa funzione stampa le informazioni sull’eccezione ed è un’abbreviazione per traceback.print_exception(*sys.exc_info(), limit, file, chain).

Per saperne di più sulla funzione print_exception() fare riferimento ai documenti ufficiali qui

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Articolo correlato - Python Exception