У меня есть код на Python, который генерирует исключение KeyError. Пока мне не удалось воспроизвести за пределами операционной среды, поэтому я не могу опубликовать сокращенный тестовый пример здесь.
Код, вызывающий исключение, повторяется через цикл, подобный этому:
for k in d.keys():
if condition:
del d[k]
строка del [k]
вызывает исключение. Я' Мы добавили вокруг него предложение try / except
и смогли определить, что k в d
ложно, но k в d.keys ()
истинно .
Ключи d
являются связанными методами экземпляров классов старого стиля.
Класс реализует __ cmp __
и __ hash __
, так что именно здесь я сосредоточил мое внимание.