[Python-Dev] Exceptions in LOAD_GLOBAL and LOAD_NAME
Mark Shannon
mark at hotpy.org
Thu Feb 23 15:09:38 CET 2012
Nick Coghlan wrote:
> On Thu, Feb 23, 2012 at 8:12 PM, Mark Shannon <mark at hotpy.org> wrote:
>> Should exceptions raised in the equality test be converted to a NameError or
>> just propogated?
>
> Our general trend has been towards letting such exceptions escape the
> operation that caused them rather than implicitly suppressing them. In
> this case, the NameError message that results is also misleading
> (since "print(globals().keys())" will definitely show an 'a' entry).
>
> Given the effort you have to go to to trigger it, I'd consider fixing
> this low priority, but I agree that the conversion of the TypeError to
> NameError is a bug (likely resolved by adding a KeyError exception
> type check in the appropriate location).
It is not a difficult fix. Just replacing calls to PyDict_GetItem with
PyDict_GetItemWithError and raising NameError only if no Exception has
occurred.
Cheers,
Mark
More information about the Python-Dev
mailing list