Personalizzare i traceback
Lezione 16 di 16 del corso Gestione delle eccezioni in Python di Coddy.
Quando esegui il programma riportato di seguito, nella finestra di output otterrai i dettagli del traceback, l'eccezione e il messaggio standard dell'eccezione.
print(100 + "hello")Il programma riportato sopra produrrà il seguente output:-
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
print(100+'hello')
TypeError: unsupported operand type(s) for +: 'int' and 'str'Le prime 3 righe contengono i dettagli del traceback, come il numero di riga, il nome del file, l'istruzione ecc.
L'ultima riga è Eccezione: messaggio standard dell'eccezione.
Quando si verifica un'eccezione, viene effettuata una chiamata alla funzione sys.excepthook() con gli argomenti riportati di seguito.
- exc_type :- Tipo di eccezione verificatasi.
- exc_value :- messaggio standard dell'eccezione
- exc_traceback:- Dettagli del traceback
sys.excepthook() stampa quindi tutti questi argomenti nella finestra di output come errore standard.
Sfida
FacileSovrascrivi la funzione sys.excepthook per personalizzare e stampare i tuoi messaggi nella finestra di output se si verifica un’eccezione. Per l’istruzione Python qui sopra, dovrebbe stampare "Something Went Wrong!" e poi solo il messaggio standard dell’eccezione.
Provalo tu
import sys
def my_exception(exc_type, exc_value, exc_traceback):
#inserisci qui il tuo codice
#sovrascrivi tramite assegnazione
def add(val1, val2):
print(val1+val2)Tutte le lezioni di Gestione delle eccezioni in Python
4Personalizzazione e buone pratiche
Personalizzare i tracebackEsercitati da solo: Compilatore Python online