[Python-Dev] Traceback problem
Kevin Jacobs
jacobs@penguin.theopalgroup.com
Tue, 25 Feb 2003 11:05:14 -0500 (EST)
On Tue, 25 Feb 2003, Guido van Rossum wrote:
> > > 3) Add an extra reset_exp function to sys.
> > > More lame since it requires an extra function,
> > > just to patch a "feature".
> >
> > This one gets my vote (if this were a democracy). "Explicit is
> > better than implicit". The new symbol in the sys namespace also
> > makes it easy to test for the capability (without a version number
> > check). Maybe it should be called 'clear_exc' or 'reset_exc_info'
> > (to match the C API name).
>
> Let's call it exc_reset() or exc_clear().
I'm going with exc_clear(), since 'clearing' seems to be the verb most
people are using when talking about the action it performed.
Implementation question: I'm planning to reuse the reset_exc_info function
defined statically in ceval.c. Which of these options do you prefer:
1) Just remove the static declaration from reset_exc_info and add the
prototype as an extern declaration to sysmodule.c.
2) Remove the static declaration from reset_exc_info and add the prototype
to an include file. If so, which include file is the most appropriate
place?
3) Move the implementation of reset_exc_info out of ceval to another, more
public, file. If so, which one?
I ask only because I usually submit bug fixes and minor changes, and am not
familar enough with this part of the Python development culture.
> > > 4) Keep things as they are, and expect the Spanish Inquision.
> >
> > I'm even okay with the status quo and can continue to use my current
> > hack to clear exception data.
>
> You can always clear it by raising and catching another exception. :-)
This is what I do, though I have a nice 10 line comment in the source to
ward off much squinting and head scratching from our junior developers.
Thanks,
-Kevin
--
Kevin Jacobs
The OPAL Group - Enterprise Systems Architect
Voice: (216) 986-0710 x 19 E-mail: jacobs@theopalgroup.com
Fax: (216) 986-0714 WWW: http://www.theopalgroup.com