"cgitb" --- Administrador *traceback* para scripts CGI.
*******************************************************

**Código fuente:** Lib/cgitb.py

Obsoleto desde la versión 3.11: The "cgitb" module is deprecated (see
**PEP 594** for details).

======================================================================

El modulo "cgitb" proporciona un manejador de excepciones especial
para script de Python. (Su nombre es un poco engañoso. Fue diseñado
originalmente para mostrar una amplia información de *traceback* en
HTML para los scripts CGI). Más tarde se generalizó para mostrar
también esta información en texto plano). Después de activar este
módulo, si se produce una excepción no capturada, se mostrará un
informe detallado y formateado. El informe incluye un *traceback* que
muestra extractos del código fuente para cada nivel, así como los
valores de los argumentos y las variables locales de las funciones que
se están ejecutando actualmente, para ayudar a depurar el problema.
Opcionalmente, puede guardar esta información en un archivo en lugar
de enviarla al navegador.

Para activar esta función, simplemente añada lo siguiente a la parte
superior de su script CGI:

   import cgitb
   cgitb.enable()

Las opciones de la función "enable()" controlan si el informe se
muestra en el explorador y si este se registra en un archivo para su
posterior análisis.

cgitb.enable(display=1, logdir=None, context=5, format='html')

   Esta función hace que el módulo "cgitb" se encargue del control
   predeterminado del intérprete para las excepciones estableciendo el
   valor de "sys.excepthook".

   El argumento opcional *display* tiene como valor predeterminado "1"
   y se puede establecer en "0" para suprimir el envío de la traza al
   navegador. Si el argumento *logdir* está presente, los informes de
   *traceback* se escriben en los archivos. El valor de *logdir* debe
   ser un directorio donde se estos archivos serán colocados. El
   argumento opcional *context* es el número de líneas de contexto que
   se mostrarán alrededor de la línea actual del código fuente en el
   *traceback*; esto tiene como valor predeterminado "5". Si el
   argumento opcional *format* es ""html"", la salida se formatea como
   HTML. Cualquier otro valor fuerza la salida de texto sin formato.
   El valor predeterminado es ""html"".

cgitb.text(info, context=5)

   Esta función controla la excepción descrita por *info* (una tupla
   de 3 que contiene el resultado de "sys..exc_info()"), dando formato
   a su *traceback* como texto y retornando el resultado como una
   cadena de caracteres. El argumento opcional *context* es el número
   de líneas de contexto que se mostrarán alrededor de la línea actual
   de código fuente en el *traceback*; esto tiene como valor
   predeterminado "5".

cgitb.html(info, context=5)

   Esta función controla la excepción descrita por *info* (una tupla
   de 3 que contiene el resultado de "sys..exc_info()"), dando formato
   a su *traceback* como HTML y retornando el resultado como una
   cadena de caracteres. El argumento opcional *context* es el número
   de líneas de contexto que se mostrarán alrededor de la línea actual
   de código fuente en el *traceback*; esto tiene como valor
   predeterminado "5".

cgitb.handler(info=None)

   Esta función maneja una excepción utilizando la configuración
   predeterminada (es decir, mostrar un informe en el navegador, pero
   no registrar en un archivo). Esto puede ser usado cuando has
   capturado una excepción y quieres reportarla usando "cgitb". El
   argumento opcional *info* debería ser una tupla de 3 que contenga
   un tipo de excepción, un valor de excepción y un objeto de
   *traceback*, exactamente como la tupla retornada por
   "sys.exc_info()". Si no se proporciona el argumento *info*, la
   excepción actual se obtiene de "sys.exc_info()".
