0

私はで働いていgraphics.pyます。Tkinter の基本的な関数ベースの「簡単な」派生物です。

私はゲームに取り組んでおり、undraw() メソッドを試すと、このエラーが発生します

プライバシーの問題により、コードは削除されました

完全なトレースバック:

Exception in Tkinter callback Traceback (most recent call last):
File "C:\Python33\lib\tkinter\__init__.py", line 1442, in __call__
    return self.func(*args)   File "C:\Users\Benny\Google Drive\PSAP\Assignments\Assignment_2_PSP\Assignment_2_Part2\Assign2_Part2.py",
line 38, in handleKeys
    play_game()   File "C:\Users\Benny\Google Drive\PSAP\Assignments\Assignment_2_PSP\Assignment_2_Part2\Assign2_Part2.py",
line 100, in play_game
    i.undraw()   File "C:\Users\Benny\Google Drive\PSAP\Assignments\Assignment_2_PSP\Assignment_2_Part2\game.py",
line 115, in undraw
    self.image.undraw()   File "C:\Users\Benny\Google Drive\PSAP\Assignments\Assignment_2_PSP\Assignment_2_Part2\graphics.py",
line 783, in undraw
    del self.imageCache[self.imageId]  # allow gc of tk photoimage KeyError: 6
4

1 に答える 1

4

これは、辞書にキーがないことを意味します18

>>> d = {1:2, 3:4}
>>> d[18]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 18

次のように、例外をキャッチして無視できます。

try:
    del self.imageCache[self.imageId]
except KeyError:
    pass
于 2013-06-03T04:55:45.290 に答える