Copyright (C) 2000-2012 |
GNU Info (python2.1-lib.info)tracebackPrint or retrieve a stack traceback =================================== Print or retrieve a stack traceback. This module provides a standard interface to extract, 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 `sys.exc_traceback' and `sys.last_traceback' and returned as the third item from `sys.exc_info()'. The module defines the following functions: `print_tb(traceback[, limit[, file]])' Print up to LIMIT stack trace entries from TRACEBACK. If LIMIT is omitted or `None', all entries are printed. If FILE is omitted or `None', the output goes to `sys.stderr'; otherwise it should be an open file or file-like object to receive the output. `print_exception(type, value, traceback[, limit[, file]])' Print exception information and up to LIMIT stack trace entries from TRACEBACK to FILE. This differs from `print_tb()' in the following ways: (1) if TRACEBACK is not `None', it prints a header `Traceback (most recent call last):'; (2) it prints the exception TYPE and VALUE after the stack trace; (3) if TYPE is `SyntaxError' and VALUE has the appropriate format, it prints the line where the syntax error occurred with a caret indicating the approximate position of the error. `print_exc([limit[, file]])' This is a shorthand for ``print_exception(sys.exc_type,' `sys.exc_value,' `sys.exc_traceback,' LIMIT`,' FILE`)''. (In fact, it uses `sys.exc_info()' to retrieve the same information in a thread-safe way.) `print_last([limit[, file]])' This is a shorthand for ``print_exception(sys.last_type,' `sys.last_value,' `sys.last_traceback,' LIMIT`,' FILE`)''. `print_stack([f[, limit[, file]]])' This function prints a stack trace from its invocation point. The optional F argument can be used to specify an alternate stack frame to start. The optional LIMIT and FILE arguments have the same meaning as for `print_exception()'. `extract_tb(traceback[, limit])' Return a list of up to LIMIT "pre-processed" stack trace entries extracted from the traceback object TRACEBACK. It is useful for alternate formatting of stack traces. If LIMIT is omitted or `None', all entries are extracted. A "pre-processed" stack trace entry is a quadruple (FILENAME, LINE NUMBER, FUNCTION NAME, TEXT) representing the information that is usually printed for a stack trace. The TEXT is a string with leading and trailing whitespace stripped; if the source is not available it is `None'. `extract_stack([f[, limit]])' Extract the raw traceback from the current stack frame. The return value has the same format as for `extract_tb()'. The optional F and LIMIT arguments have the same meaning as for `print_stack()'. `format_list(list)' Given a list of tuples as returned by `extract_tb()' or `extract_stack()', return a list of strings ready for printing. Each string in the resulting list corresponds to the item with the same index in the argument list. Each string ends in a newline; the strings may contain internal newlines as well, for those items whose source text line is not `None'. `format_exception_only(type, value)' Format the exception part of a traceback. The arguments are the exception type and value such as given by `sys.last_type' and `sys.last_value'. The return value is a list of strings, each ending in a newline. Normally, the list contains a single string; however, for `SyntaxError' exceptions, it contains several lines that (when printed) display detailed information about where the syntax error occurred. The message indicating which exception occurred is the always last string in the list. `format_exception(type, value, tb[, limit])' Format a stack trace and the exception information. The arguments have the same meaning as the corresponding arguments to `print_exception()'. The return value is a list of strings, each ending in a newline and some containing internal newlines. When these lines are concatenated and printed, exactly the same text is printed as does `print_exception()'. `format_tb(tb[, limit])' A shorthand for `format_list(extract_tb(TB, LIMIT))'. `format_stack([f[, limit]])' A shorthand for `format_list(extract_stack(F, LIMIT))'. `tb_lineno(tb)' This function returns the current line number set in the traceback object. This is normally the same as the `TB.tb_lineno' field of the object, but when optimization is used (the -O flag) this field is not updated correctly; this function calculates the correct value. automatically generated by info2www version 1.2.2.9 |