[Guido] > > What if that method catches that exception? [Ka-Ping Yee] > Did you mean something like this? > > def handle(): > try: > open('spamspamspam') > except: > catchit() > # point A > ... > > def catchit(): > try: > 1/0 > except: > pass > > Then there's no exception to propagate, so it doesn't matter. > Once we're get to point A, the division by zero is long forgotten.
But at what point does the attaching happen? If I catch the ZeroDivisionException inside catchit() and inspects its context attribute, does it reference the IOError instance raised by open('spamspamspam')? This could potentially cause a lot of extra work: when an inner loop that raises and catches lots of exceptions is invoked in the context of having caught an exception at some outer level, the inner loop keeps attaching the outer exception to each exception raised. > Yes, though i did not expect to provide any mechanism for distinguishing > the two cases. Do you think such a mechanism would be necessary? No, I was just trying to figure out what you meant when you said "raise". It's clear now. -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com