[Python-Dev] Reference cycles in Exception.__traceback__
Antoine Pitrou
solipsis at pitrou.net
Thu Mar 6 16:52:56 CET 2014
Le 06/03/2014 16:03, Yury Selivanov a écrit :
>
> On 2014-03-06, 8:42 AM, Antoine Pitrou wrote:
>> Le 05/03/2014 23:53, Nick Coghlan a écrit :
>>>
>>> __traceback__ wouldn't change [...]
>>
>> Uh, really? If you want to suppress all reference cycles, you *have*
>> to remove __traceback__.
>>
>> The problem is to make computation of the traceback summary
>> lightweight enough that it doesn't degrade performance in the common
>> case where you don't have to print the traceback later.
>
> So why can't we allow instantiation of types.TracebackType &
> types.FrameType?
IMO it is absolutely out of question to allow creation of arbitrary
frames from Python code, because the structure and initialization of
frames embody too many low-level implementation details.
We might allow the creation of traceback objects, but without any custom
frame objects it is unclear how useful that would be.
Regards
Antoine.
More information about the Python-Dev
mailing list