[Python-ideas] feature to make traceback objects usable without references to frame locals and globals

Antoine Pitrou solipsis at pitrou.net
Mon Jun 28 14:39:24 CEST 2010


On Mon, 28 Jun 2010 13:14:21 +0200
"M.-A. Lemburg" <mal at egenix.com> wrote:
> 
> BTW: I wonder why proxy objects don't provide a direct access to
> the weakref object they are using. That would make keeping that
> extra variable around unnecessary.

Probably because the proxy would then have an additional attribute
which isn't on the proxied object. Or, worse, it could also shadow
one of the proxied object's existing attributes.

> Perhaps someone could highlight a use case where the traceback
> is needed outside the except clause ?!

Well, it's needed if you want delayed error reporting and still display
a comprehensive stack trace (rather than just the exception message).
Frameworks often need this kind of behaviour; Twisted was already
mentioned in this thread. But, even outside of frameworks, there are
situations where you want to process a bunch of data and present all
processing errors at the end.

However, as the OP argued, most often you need the traceback in order
to display file names and line numbers, but you don't need the attached
variables (locals and globals).

Regards

Antoine.





More information about the Python-ideas mailing list