Il modulo cgitb fornisce un gestore di eccezioni speciale per gli script Python. (Il suo nome può causare confusione. Originariamente è stato progettato per mostrare informazioni estensive sulle traceback in HTML per gli script CGI. Successivamente è stato generalizzato per mostrare anche informazioni in puro testo.) Dopo che questo modulo è stato attivato, se interviene un'eccezione non gestita, verrà mostrato un report, dettagliato e formattato. Il report include una traceback contentente gli estratti del codice sorgente per ogni livello, quanto il valore degli argomenti e delle variabili locali delle funzioni correntemente in esecuzione, per aiutare alla risoluzione del problema. Facoltativamente si possono salvare queste informazioni in un file invece di inviarle al browser.
Per abilitare questa funzionalità, semplicemente si aggiunga una linea all'inizio dello script CGI:
import cgitb; cgitb.enable()
Le opzioni della funzione enable() controllano quando il report viene mostrato nel browser e quando il report viene registrato in un file per un'analisi successiva.
[display[, logdir[, context[, format]]]]) |
sys.excepthook
.
L'argomento facoltativo display viene impostato al valore
predefinito 1
e può essere impostato a 0
per
sopprimere l'invio delle traceback al browser. Se l'argomento
logdir è presente, il rapporto della traceback viene scritto
in un file. Il valore di logdir deve essere una directory
dove questi file verranno posizionati. L'argomento facoltativo
context è il numero di righe di contesto da mostrare intorno
alla riga corrente del codice sorgente nella traceback; il suo
valore predefinito è 5
.
Se l'argomento facoltativo format è "html"
, l'output
viene formattato come HTML. Ogni altro valore forza il risultato in
puro testo. Il valore predefinito è "html"
.
[info]) |
sys.exc_info()
. Se l'argomento
info non viene fornito, l'eccezione corrente è ottenuta da
sys.exc_info()
.