PEP 317: Eliminate Implicit Exception Instantiation

Steven Taschuk staschuk at
Wed Jun 11 00:04:19 CEST 2003

Quoth Bernhard Herzog:
> Steven Taschuk <staschuk at> writes:
  [issuing warnings for use of sys.exc_{type, value, traceback}]
> > I agree entirely, but I don't see how such warnings could be
> > implemented.  How can you hook into access of specific globals?
> exc_* are not globals, they're attributes of the sys module.

What's the difference between globals and module attributes?

> What you could do, I think, is turn sys into an instance of a subclass
> of module and make exc_traceback and friends properties in that new
> subclass whose get functions simply return the appropriate value from
> sys.exc_info(). That would actually solve the bug wrt. threading and the
> get function could also issue a warning.

That seems plausible -- though Guido recently reiterated on py-dev
his dislike of the idea of class-like attribute access for
modules.  In his words: "When you want a class, use one. :-)".

Steven Taschuk                                                 o- @
staschuk at                                      7O   )
                                                               "  (

More information about the Python-list mailing list