Message240509
My understanding is that the traceback is a linked list. Every time the exception is raised into a calling function or exception handler, a new traceback object is inserted at the front of the list. Your original traceback is not overwritten, it is just pushed back in the list. See my version of the demonstration script. The output is now:
a.__traceback__ before raise : [None]
a.__traceback__ after raise : [<traceback object at 0xb6fb3b1c>, None]
b.__traceback__ before raise : [<traceback object at 0xb6fb3b1c>, None]
b.__traceback__ after raise : [<traceback object at 0xb6fb3b44>, <traceback object at 0xb6fb3b1c>, None] |
|
Date |
User |
Action |
Args |
2015-04-11 23:03:49 | martin.panter | set | recipients:
+ martin.panter, r.david.murray, abathur |
2015-04-11 23:03:49 | martin.panter | set | messageid: <1428793429.59.0.622723871318.issue23915@psf.upfronthosting.co.za> |
2015-04-11 23:03:49 | martin.panter | link | issue23915 messages |
2015-04-11 23:03:49 | martin.panter | create | |
|