Menu
Coddy logo textTech

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.

challenge icon

Sfida

Facile

Sovrascrivi 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

Esercitati da solo: Compilatore Python online