diff options
author | Nick Coghlan <ncoghlan@gmail.com> | 2006-04-23 15:14:37 (GMT) |
---|---|---|
committer | Nick Coghlan <ncoghlan@gmail.com> | 2006-04-23 15:14:37 (GMT) |
commit | 5ef9d9fdb93cd5bd5179d8ce63c28248a4614d44 (patch) | |
tree | acc99224f4b9d88b717ac0bd667e66b61cd1eb9a /Doc/lib | |
parent | 84faa8577557942706b36068da05abf70b74c6cf (diff) | |
download | cpython-5ef9d9fdb93cd5bd5179d8ce63c28248a4614d44.zip cpython-5ef9d9fdb93cd5bd5179d8ce63c28248a4614d44.tar.gz cpython-5ef9d9fdb93cd5bd5179d8ce63c28248a4614d44.tar.bz2 |
Update contextlib documentation to use the same terminology as the module implementation
Diffstat (limited to 'Doc/lib')
-rw-r--r-- | Doc/lib/libcontextlib.tex | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/Doc/lib/libcontextlib.tex b/Doc/lib/libcontextlib.tex index 46f9cdd..0c02cd1 100644 --- a/Doc/lib/libcontextlib.tex +++ b/Doc/lib/libcontextlib.tex @@ -49,8 +49,9 @@ occurred. Thus, you can use a the error (if any), or ensure that some cleanup takes place. Note that you can use \code{@contextmanager} to define a context -manager's \method{__context__} method. This is usually more convenient -than creating another class just to serve as a context. For example: +object's \method{__context__} method. This is usually more convenient +than creating another class just to serve as a context manager. +For example: \begin{verbatim} from __future__ import with_statement @@ -97,10 +98,10 @@ with A as X: do_something() \end{verbatim} -Note that if one of the nested contexts' \method{__exit__()} method +Note that 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 outer contexts' \method{__exit__()} -method(s), if any. In general, \method{__exit__()} methods should avoid +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 passed-in exception. \end{funcdesc} @@ -127,9 +128,9 @@ from __future__ import with_statement from contextlib import closing import codecs -with closing(codecs.open("foo", encoding="utf8")) as f: +with closing(urllib.urlopen('http://www.python.org')) as f: for line in f: - print line.encode("latin1") + print line \end{verbatim} without needing to explicitly close \code{f}. Even if an error occurs, |