| \section{Standard Module \sectcode{traceback}} |
| \label{module-traceback} |
| \stmodindex{traceback} |
| |
| \setindexsubitem{(in module traceback)} |
| |
| This module provides a standard interface to format and print stack |
| traces of Python programs. It exactly mimics the behavior of the |
| Python interpreter when it prints a stack trace. This is useful when |
| you want to print stack traces under program control, e.g. in a |
| ``wrapper'' around the interpreter. |
| |
| The module uses traceback objects --- this is the object type |
| that is stored in the variables \code{sys.exc_traceback} and |
| \code{sys.last_traceback}. |
| |
| The module defines the following functions: |
| |
| \begin{funcdesc}{print_tb}{traceback\optional{\, limit}} |
| Print up to \var{limit} stack trace entries from \var{traceback}. If |
| \var{limit} is omitted or \code{None}, all entries are printed. |
| \end{funcdesc} |
| |
| \begin{funcdesc}{extract_tb}{traceback\optional{\, limit}} |
| Return a list of up to \var{limit} ``pre-processed'' stack trace |
| entries extracted from \var{traceback}. It is useful for alternate |
| formatting of stack traces. If \var{limit} is omitted or \code{None}, |
| all entries are extracted. A ``pre-processed'' stack trace entry is a |
| quadruple (\var{filename}, \var{line number}, \var{function name}, |
| \var{line text}) representing the information that is usually printed |
| for a stack trace. The \var{line text} is a string with leading and |
| trailing whitespace stripped; if the source is not available it is |
| \code{None}. |
| \end{funcdesc} |
| |
| \begin{funcdesc}{print_exception}{type\, value\, traceback\optional{\, limit}} |
| Print exception information and up to \var{limit} stack trace entries |
| from \var{traceback}. This differs from \code{print_tb} in the |
| following ways: (1) if \var{traceback} is not \code{None}, it prints a |
| header ``\code{Traceback (innermost last):}''; (2) it prints the |
| exception \var{type} and \var{value} after the stack trace; (3) if |
| \var{type} is \code{SyntaxError} and \var{value} has the appropriate |
| format, it prints the line where the syntax error occurred with a |
| caret indication the approximate position of the error. |
| \end{funcdesc} |
| |
| \begin{funcdesc}{print_exc}{\optional{limit}} |
| This is a shorthand for \code{print_exception(sys.exc_type,} |
| \code{sys.exc_value,} \code{sys.exc_traceback,} \code{limit)}. |
| \end{funcdesc} |
| |
| \begin{funcdesc}{print_last}{\optional{limit}} |
| This is a shorthand for \code{print_exception(sys.last_type,} |
| \code{sys.last_value,} \code{sys.last_traceback,} \code{limit)}. |
| \end{funcdesc} |