annotate a traceback
Diez B. Roggisch
deets at nospam.web.de
Thu Oct 29 11:29:30 EDT 2009
Robin Becker wrote:
> I want to annotate a traceback in routine A which is raised in B. Useful
> information in A is not available in B
>
> I propose to use something like
>
> def A(info):
> try:
> B()
> except:
> t,v,b=sys.exc_info()
> v.args = (' '.join(map(str,v.args))+', info=%r' % info,)
> raise
>
> is this a reasonable approach?
I think a custom exception that takes the old sys.exc_info() and
encapsulates it would be better. Java has this, and it allows you to convey
different information without losing the original traceback.
Diez
More information about the Python-list
mailing list