[Python-Dev] Exceptions in LOAD_GLOBAL and LOAD_NAME (original) (raw)

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