diff options
Diffstat (limited to 'Doc/lib/libtraceback.tex')
-rw-r--r-- | Doc/lib/libtraceback.tex | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/Doc/lib/libtraceback.tex b/Doc/lib/libtraceback.tex new file mode 100644 index 0000000..38d91ea --- /dev/null +++ b/Doc/lib/libtraceback.tex @@ -0,0 +1,54 @@ +\section{Built-in module \sectcode{traceback}} +\stmodindex{traceback} + +\renewcommand{\indexsubitem}{(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} |