cgitb
cgitb — Traceback manager for CGI scripts
2.2版本中的新功能。
该cgitb
模块为Python脚本提供了一个特殊的异常处理程序。(它的名字有点令人误解,它最初设计为在CGI脚本中显示HTML的广泛跟踪信息,后来被普遍化为以纯文本形式显示这些信息)。激活此模块后,如果发生未捕获的异常,将显示详细的格式化报告。该报告包含一个回溯,显示每个级别的源代码片段,以及当前运行的函数的参数值和局部变量值,以帮助您调试问题。或者,您可以将此信息保存到文件中,而不是将其发送到浏览器。
要启用此功能,只需将其添加到CGI脚本的顶部:
import cgitb
cgitb.enable()
enable()
函数的选项控制报表是否显示在浏览器中,以及报表是否记录到文件中供以后分析。
cgitb.enable([display[, logdir[, context[, format]]]])
该函数cgitb
通过设置值来使模块接管解释器对异常的默认处理sys.excepthook
。
可选参数显示
默认为1
并且可以设置0
为禁止将回溯发送到浏览器。如果参数logdir
存在,则追溯报告将写入文件。logdir
的值应该是放置这些文件的目录。可选的参数上下文
是在回溯中的当前源代码行周围显示
的上下文
的行数; 这默认为5
。如果可选参数格式
为"html"
,则输出格式
为HTML。任何其他值强制纯文本输出。默认值是"html"
。
cgitb.handler([info])
此函数使用默认设置处理异常(即,在浏览器中显示报告,但不记录到文件)。这可以在您发现异常并希望使用报告时使用cgitb
。可选的info
参数应该是包含异常类型,异常值和跟踪对象的3元组,就像返回的元组一样sys.exc_info()
。如果未提供info
参数,则从中获取当前异常sys.exc_info()
。