diff options
author | Guido van Rossum <guido@python.org> | 1995-07-07 23:01:27 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1995-07-07 23:01:27 (GMT) |
commit | d6ac380d394771a8c72e42a8c1443b2151718d62 (patch) | |
tree | 3d49698f1f40ba7a374e33f39d5eeb48c2161868 /Doc/libimp.tex | |
parent | 6b686e94a1b752efaa471266047d6fdc2d12a5d9 (diff) | |
download | cpython-d6ac380d394771a8c72e42a8c1443b2151718d62.zip cpython-d6ac380d394771a8c72e42a8c1443b2151718d62.tar.gz cpython-d6ac380d394771a8c72e42a8c1443b2151718d62.tar.bz2 |
fix bug in example (should close file at all times)
Diffstat (limited to 'Doc/libimp.tex')
-rw-r--r-- | Doc/libimp.tex | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/Doc/libimp.tex b/Doc/libimp.tex index 2e72602..4456814 100644 --- a/Doc/libimp.tex +++ b/Doc/libimp.tex @@ -158,14 +158,17 @@ def __import__(name, globals=None, locals=None, fromlist=None): fp, pathname, (suffix, mode, type) = imp.find_module(name) # See what we got. - # Note that fp will be closed automatically when we return. - if type == imp.C_EXTENSION: - return imp.load_dynamic(name, pathname) - if type == imp.PY_SOURCE: - return imp.load_source(name, pathname, fp) - if type == imp.PY_COMPILED: - return imp.load_compiled(name, pathname, fp) - - # Shouldn't get here at all. - raise ImportError, '%s: unknown module type (%d)' % (name, type) + try: + if type == imp.C_EXTENSION: + return imp.load_dynamic(name, pathname) + if type == imp.PY_SOURCE: + return imp.load_source(name, pathname, fp) + if type == imp.PY_COMPILED: + return imp.load_compiled(name, pathname, fp) + + # Shouldn't get here at all. + raise ImportError, '%s: unknown module type (%d)' % (name, type) + finally: + # Since we may exit via an exception, close fp explicitly. + fp.close() \end{verbatim} |