Commit 890ddfe7 authored by Guido van Rossum's avatar Guido van Rossum

fix bug in example (should close file at all times)

parent 676027ee
...@@ -158,7 +158,7 @@ def __import__(name, globals=None, locals=None, fromlist=None): ...@@ -158,7 +158,7 @@ def __import__(name, globals=None, locals=None, fromlist=None):
fp, pathname, (suffix, mode, type) = imp.find_module(name) fp, pathname, (suffix, mode, type) = imp.find_module(name)
# See what we got. # See what we got.
# Note that fp will be closed automatically when we return. try:
if type == imp.C_EXTENSION: if type == imp.C_EXTENSION:
return imp.load_dynamic(name, pathname) return imp.load_dynamic(name, pathname)
if type == imp.PY_SOURCE: if type == imp.PY_SOURCE:
...@@ -168,4 +168,7 @@ def __import__(name, globals=None, locals=None, fromlist=None): ...@@ -168,4 +168,7 @@ def __import__(name, globals=None, locals=None, fromlist=None):
# Shouldn't get here at all. # Shouldn't get here at all.
raise ImportError, '%s: unknown module type (%d)' % (name, type) raise ImportError, '%s: unknown module type (%d)' % (name, type)
finally:
# Since we may exit via an exception, close fp explicitly.
fp.close()
\end{verbatim} \end{verbatim}
...@@ -158,7 +158,7 @@ def __import__(name, globals=None, locals=None, fromlist=None): ...@@ -158,7 +158,7 @@ def __import__(name, globals=None, locals=None, fromlist=None):
fp, pathname, (suffix, mode, type) = imp.find_module(name) fp, pathname, (suffix, mode, type) = imp.find_module(name)
# See what we got. # See what we got.
# Note that fp will be closed automatically when we return. try:
if type == imp.C_EXTENSION: if type == imp.C_EXTENSION:
return imp.load_dynamic(name, pathname) return imp.load_dynamic(name, pathname)
if type == imp.PY_SOURCE: if type == imp.PY_SOURCE:
...@@ -168,4 +168,7 @@ def __import__(name, globals=None, locals=None, fromlist=None): ...@@ -168,4 +168,7 @@ def __import__(name, globals=None, locals=None, fromlist=None):
# Shouldn't get here at all. # Shouldn't get here at all.
raise ImportError, '%s: unknown module type (%d)' % (name, type) raise ImportError, '%s: unknown module type (%d)' % (name, type)
finally:
# Since we may exit via an exception, close fp explicitly.
fp.close()
\end{verbatim} \end{verbatim}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment