Add sys.excepthook.

Update docstring and library reference section on 'sys' module.
New API PyErr_Display, just for displaying errors, called by excepthook.
Uncaught exceptions now call sys.excepthook; if that fails, we fall back
    to calling PyErr_Display directly.
Also comes with sys.__excepthook__ and sys.__displayhook__.
This commit is contained in:
Ka-Ping Yee 2001-03-23 02:46:52 +00:00
parent 37f7b38eb6
commit b5c5132d1a
4 changed files with 108 additions and 23 deletions

View file

@ -48,11 +48,32 @@ Availability: Windows.
If \var{value} is not \code{None}, this function prints it to
\code{sys.stdout}, and saves it in \code{__builtin__._}.
This function is called when an expression is entered at the prompt
of an interactive Python session. It exists mainly so it can be
overridden.
\code{sys.displayhook} is called on the result of evaluating
an expression entered in an interactive Python session.
The display of these values can be customized by assigning
another function to \code{sys.displayhook}.
\end{funcdesc}
\begin{funcdesc}{excepthook}{\var{type}, \var{value}, \var{traceback}}
This function prints out a given traceback and exception to
\code{sys.stderr}.
\code{sys.excepthook} is called when an exception is raised
and uncaught. In an interactive session this happens just before
control is returned to the prompt; in a Python program this happens
just before the program exits.
The handling of such top-level exceptions can be customized by
assigning another function to \code{sys.excepthook}.
\end{funcdesc}
\begin{datadesc}{__displayhook__}
\dataline{__excepthook__}
These objects contain the original values of \code{displayhook}
and \code{excepthook} at the start of the program. They are saved
so that \code{displayhook} and \code{excepthook} can be restored
in case they happen to get replaced with broken objects.
\end{datadesc}
\begin{funcdesc}{exc_info}{}
This function returns a tuple of three values that give information
about the exception that is currently being handled. The information