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 Rhamphoryncus
Recipients Rhamphoryncus, benjamin.peterson, gvanrossum, pitrou
Date 2008-06-23.06:16:02
SpamBayes Score 3.9774783e-10
Marked as misclassified No
Message-id <aac2c7cb0806222315w78c41bb8xba2dba36cfac7e3f@mail.gmail.com>
In-reply-to <1214168164.6056.94.camel@fsol>
Content
On Sun, Jun 22, 2008 at 2:56 PM, Antoine Pitrou <report@bugs.python.org> wrote:
> Le dimanche 22 juin 2008 à 20:40 +0000, Adam Olsen a écrit :
>> Passing in e.args is probably sufficient.
>
> I think it's very optimistic :-) Some exception objects can hold dynamic
> state which is simply not stored in the "args" tuple. See Twisted's
> Failure objects for an extreme example:
> http://twistedmatrix.com/trac/browser/trunk/twisted/python/failure.py
>
> (yes, it is used an an exception: see "raise self" in the trap() method)

Failure doesn't have an args tuple and doesn't subclass Exception (or
BaseException) - it already needs modification in 3.0.  It's heaped
full of complexity and implementation details.  I wouldn't be
surprised if your changes break it in subtle ways too.

In short, if forcing Failure to be rewritten is the only consequence
of using .args, it's an acceptable tradeoff of not corrupting
exception contexts.
History
Date User Action Args
2008-06-23 06:16:06Rhamphoryncussetspambayes_score: 3.97748e-10 -> 3.9774783e-10
recipients: + Rhamphoryncus, gvanrossum, pitrou, benjamin.peterson
2008-06-23 06:16:04Rhamphoryncuslinkissue3112 messages
2008-06-23 06:16:02Rhamphoryncuscreate