summaryrefslogtreecommitdiff
path: root/Doc/lib/libcontextlib.tex
diff options
context:
space:
mode:
authorNick Coghlan <ncoghlan@gmail.com>2006-05-03 13:17:49 +0000
committerNick Coghlan <ncoghlan@gmail.com>2006-05-03 13:17:49 +0000
commit29e49e9d8b35daebe0c3b9dc470da22ece0e6ad0 (patch)
treeeb3a6eab2e94e85515a1fc8a43ebd099da62e6dc /Doc/lib/libcontextlib.tex
parent2ab81891b60540e9c66e12250af2b0be22734c15 (diff)
downloadcpython-29e49e9d8b35daebe0c3b9dc470da22ece0e6ad0.tar.gz
Get rid of a couple more context object references, fix some markup and clarify what happens when a generator context function swallows an exception.
Diffstat (limited to 'Doc/lib/libcontextlib.tex')
-rw-r--r--Doc/lib/libcontextlib.tex15
1 files changed, 8 insertions, 7 deletions
diff --git a/Doc/lib/libcontextlib.tex b/Doc/lib/libcontextlib.tex
index f28bdd098e..72bf53716a 100644
--- a/Doc/lib/libcontextlib.tex
+++ b/Doc/lib/libcontextlib.tex
@@ -13,7 +13,7 @@ Functions provided:
\begin{funcdesc}{contextmanager}{func}
This function is a decorator that can be used to define a factory
-function for \keyword{with} statement context objects, without
+function for \keyword{with} statement context managers, without
needing to create a class or separate \method{__enter__()} and
\method{__exit__()} methods.
@@ -52,9 +52,10 @@ occurred. Thus, you can use a
the error (if any), or ensure that some cleanup takes place. If an
exception is trapped merely in order to log it or to perform some
action (rather than to suppress it entirely), the generator must
-reraise that exception. Otherwise the \keyword{with} statement will
-treat the exception as having been handled, and resume execution with
-the statement immediately following the \keyword{with} statement.
+reraise that exception. Otherwise the generator context manager will
+indicate to the \keyword{with} statement that the exception has been
+handled, and execution will resume with the statement immediately
+following the \keyword{with} statement.
\end{funcdesc}
\begin{funcdesc}{nested}{mgr1\optional{, mgr2\optional{, ...}}}
@@ -81,9 +82,9 @@ with A as X:
Note that if the \method{__exit__()} method of one of the nested
context managers indicates an exception should be suppressed, no
exception information will be passed to any remaining outer context
-objects. Similarly, if the \method{__exit__()} method of one of the
-nested context managers raises an exception, any previous exception
-state will be lost; the new exception will be passed to the
+managers. Similarly, if the \method{__exit__()} method of one of the
+nested managers raises an exception, any previous exception state will
+be lost; the new exception will be passed to the
\method{__exit__()} methods of any remaining outer context managers.
In general, \method{__exit__()} methods should avoid raising
exceptions, and in particular they should not re-raise a