mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 03:22:27 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			62 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
:mod:`cgitb` --- Traceback manager for CGI scripts
 | 
						|
==================================================
 | 
						|
 | 
						|
.. module:: cgitb
 | 
						|
   :synopsis: Configurable traceback handler for CGI scripts.
 | 
						|
.. moduleauthor:: Ka-Ping Yee <ping@lfw.org>
 | 
						|
.. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
 | 
						|
 | 
						|
 | 
						|
.. index::
 | 
						|
   single: CGI; exceptions
 | 
						|
   single: CGI; tracebacks
 | 
						|
   single: exceptions; in CGI scripts
 | 
						|
   single: tracebacks; in CGI scripts
 | 
						|
 | 
						|
The :mod:`cgitb` module provides a special exception handler for Python scripts.
 | 
						|
(Its name is a bit misleading.  It was originally designed to display extensive
 | 
						|
traceback information in HTML for CGI scripts.  It was later generalized to also
 | 
						|
display this information in plain text.)  After this module is activated, if an
 | 
						|
uncaught exception occurs, a detailed, formatted report will be displayed.  The
 | 
						|
report includes a traceback showing excerpts of the source code for each level,
 | 
						|
as well as the values of the arguments and local variables to currently running
 | 
						|
functions, to help you debug the problem.  Optionally, you can save this
 | 
						|
information to a file instead of sending it to the browser.
 | 
						|
 | 
						|
To enable this feature, simply add this to the top of your CGI script::
 | 
						|
 | 
						|
   import cgitb
 | 
						|
   cgitb.enable()
 | 
						|
 | 
						|
The options to the :func:`enable` function control whether the report is
 | 
						|
displayed in the browser and whether the report is logged to a file for later
 | 
						|
analysis.
 | 
						|
 | 
						|
 | 
						|
.. function:: enable(display=1, logdir=None, context=5, format="html")
 | 
						|
 | 
						|
   .. index:: single: excepthook() (in module sys)
 | 
						|
 | 
						|
   This function causes the :mod:`cgitb` module to take over the interpreter's
 | 
						|
   default handling for exceptions by setting the value of :attr:`sys.excepthook`.
 | 
						|
 | 
						|
   The optional argument *display* defaults to ``1`` and can be set to ``0`` to
 | 
						|
   suppress sending the traceback to the browser. If the argument *logdir* is
 | 
						|
   present, the traceback reports are written to files.  The value of *logdir*
 | 
						|
   should be a directory where these files will be placed. The optional argument
 | 
						|
   *context* is the number of lines of context to display around the current line
 | 
						|
   of source code in the traceback; this defaults to ``5``. If the optional
 | 
						|
   argument *format* is ``"html"``, the output is formatted as HTML.  Any other
 | 
						|
   value forces plain text output.  The default value is ``"html"``.
 | 
						|
 | 
						|
 | 
						|
.. function:: handler(info=None)
 | 
						|
 | 
						|
   This function handles an exception using the default settings (that is, show a
 | 
						|
   report in the browser, but don't log to a file). This can be used when you've
 | 
						|
   caught an exception and want to report it using :mod:`cgitb`.  The optional
 | 
						|
   *info* argument should be a 3-tuple containing an exception type, exception
 | 
						|
   value, and traceback object, exactly like the tuple returned by
 | 
						|
   :func:`sys.exc_info`.  If the *info* argument is not supplied, the current
 | 
						|
   exception is obtained from :func:`sys.exc_info`.
 | 
						|
 |