LookupError
「探そうとした値が見つからない」系のエラーの親分類です。IndexErrorとKeyErrorは、実はこのLookupErrorの仲間(サブクラス)です。
原因
直接このエラー名を目にすることは少なく、通常はIndexErrorやKeyErrorとして具体的に発生します。
エラーになるコード例
data = {'a': 1}
try:
print(data['b'])
except LookupError:
print('見つかりませんでした')修正版
data = {'a': 1}
try:
print(data['b'])
except KeyError:
print('キーが見つかりませんでした')よくある間違い
- IndexErrorとKeyErrorの両方をまとめて処理したいときに、この親クラスの存在を知らず個別に書いてしまう
- 具体的なエラー名が分かる場面でも、必要以上に曖昧な親クラスでキャッチしてしまう