diff Doc/lib/libsys.tex @ 17164:b44e77a12978 legacy-trunk

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__.
author Ka-Ping Yee <ping@zesty.ca>
date Fri, 23 Mar 2001 02:46:52 +0000
parents 1a00d21910c8
children 596efa7e7df8
line wrap: on
line diff
--- a/Doc/lib/libsys.tex	Fri Mar 23 00:12:53 2001 +0000
+++ b/Doc/lib/libsys.tex	Fri Mar 23 02:46:52 2001 +0000
@@ -48,11 +48,32 @@
 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