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 -- http://mail.python.org/mailman/listinfo/python-list