21.3.cgitb — — CGI 脚本回馈错误管理

源代码: Lib / cgitb.py

cgitb 模块为 Python 脚本提供了一个特殊的异常处理程序。(它的名字是有点误导性的。最初,它旨在为 CGI 脚本在 HTML 中显示广泛的追踪信息。它后来被推广为以纯文本形式显示此信息。)本模块被激活,如果未捕获的异常发生后,将显示详细的、 已格式化的报告。该报告包括回溯显示摘录的每个级别的源代码以及参数和局部变量于当前运行的功能,以帮助您调试问题的值。您还可以选择将此信息保存到文件而不是将其发送到浏览器。

若要启用此功能,只需要简单地引入模块和写下你的 CGI 脚本︰

import cgitb
cgitb.enable()

enable() 函数的参数选项控制在浏览器中显示错误信息还是记录到文件中供以后分析。

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

此函数使cgitb模块通过设置sys.excepthook的值来接管解释器对异常的默认处理。

可选参数,display 默认为 1,可以设置为 0,以禁止向浏览器发送的错误消息。如果参数 logdir被设置为日志文件所在目录,错误消息将被写入文件。Logdir 的值应该是一个目录,就是错误日志文件将被放置的位置。可选参数 context 是要显示出错行上下文的行数; 这将默认为 5如果可选参数 format"html",输出的将被格式化为为 HTML格式。任何其他值都将导致纯文本输出。默认值为 "html"

cgitb.handler(info=None)

此函数使用默认设置处理异常 (也即是,在浏览器中显示错误小心但不记录到一个文件中小心)。这可以使用当您已经捕获到异常,并且想要把它交给 cgitb处理。可选 info 参数应包含一个异常类型、 异常值和追踪对象,就像 sys.exc_info() 所返回的元组的 3 元组。如果不提供 info 参数,则会从 sys.exc_info() 获得当前异常。