homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author pitrou
Recipients Rhamphoryncus, benjamin.peterson, gvanrossum, pitrou
Date 2008年06月22日.20:20:00
SpamBayes Score 0.02898191
Marked as misclassified No
Message-id <1214165998.6056.81.camel@fsol>
In-reply-to <aac2c7cb0806221257j466a4f6fmb3c9a43a2db54f8f@mail.gmail.com>
Content
Le dimanche 22 juin 2008 à 19:57 +0000, Adam Olsen a écrit :
> That's still O(n). I'm not so easily convinced it's cheap enough.
O(n) when n will almost never be greater than 5 (and very often equal to
1 or 2), and when the unit is the cost of a pointer dereference plus the
cost of a pointer comparison, still sounds cheap. We could bench it
anyway.
> And for that matter, I'm not convinced it's correct. The inner
> exception's context becomes clobbered when we modify the outer
> exception's traceback. The inner's context should reference the
> traceback as it was at that point.
Yes, I've just thought about that, it's a bit annoying... We have to
decide what is more annoying: that, or a reference cycle that can delay
deallocation of stuff attached to an exception (including local
variables attached to the tracebacks)?
(just a small note: it's exception objects that are chained, not
tracebacks... we never modify tracebacks at any point)
> This would all be a lot easier if reraising always created a new
> exception.
How do you duplicate an instance of an user-defined exception? Using an
equivalent of copy.deepcopy()? It will probably end up much more
expensive than the above-mentioned O(n) search.
> Can you think of a way to skip that only when we can be
> sure its safe? Maybe as simple as counting the references to it?
I don't think so, the exception can be referenced in an unknown number
of local variables (themselves potentially referenced by tracebacks).
History
Date User Action Args
2008年06月22日 20:20:04pitrousetspambayes_score: 0.0289819 -> 0.02898191
recipients: + pitrou, gvanrossum, Rhamphoryncus, benjamin.peterson
2008年06月22日 20:20:03pitroulinkissue3112 messages
2008年06月22日 20:20:01pitroucreate

AltStyle によって変換されたページ (->オリジナル) /