Exception not captured

Peter Otten __peter__ at web.de
Tue Jan 11 08:40:14 EST 2005


Miki Tebeka wrote:

> Hello All,
> 
> Can someone please explain how is the following code fragment possible?
> (If you're interested I can place the whole project somewhere).
> 
> def checkout(dest, log):
>     '''Get latest version from SCM
> 
>         client - SCM client to use
>         dest - Destination directory
>     '''
>     try:
>         SCM.checkout(dest, log)
>     except SCMError, e:
>         raise NightlyError("Checkout")
>     except Exception, e:
>         import inspect
>         file = inspect.getsourcefile(e.__class__)
>         line = inspect.getsourcelines(e.__class__)[1]
>         print "%s:%d" % (file, line)
>         file = inspect.getsourcefile(SCMError)
>         line = inspect.getsourcelines(SCMError)[1]
>         print "%s:%d" % (file, line)
>         print SCMError is e.__class__
>         raise SystemExit
> 
> I get to the second "except" clause, and the printout is:
> /home/mikit/work/nightly/scm/common.py:3
> /home/mikit/work/nightly/scm/common.py:3
> False
> 
> How is this possible?

Some kind of duplicate import, maybe? E.g.:

>>> import sys
>>> import inspect
>>> getsource = inspect.getsource
>>> del sys.modules["inspect"]
>>> import inspect
>>> getsource is inspect.getsource
False

Peter




More information about the Python-list mailing list