上級 › except: だけで書くと本当のバグまで隠れる › パターン4
except: だけで書くと本当のバグまで隠れる
except:とだけ書くとあらゆる例外を捕まえてしまい、想定していたエラーだけでなく、コードの本当のバグ(NameErrorなど)まで静かに隠してしまいます。
1 def get_first(items): 2 try: 3 return ________[0] ^ 4 except: 5 return None 6 7 print(get_first([1, 2, 3]))
出力: None期待: 1 (エラーにはなりません)
空欄を埋めて実行を通す
引数名itemsをitemと打ち間違えています。bareなexceptがNameErrorまで飲み込むため、Noneが返り続けても原因に気づけません。
次の問題