上級 › except: だけで書くと本当のバグまで隠れる › パターン2
except: だけで書くと本当のバグまで隠れる
except:とだけ書くとあらゆる例外を捕まえてしまい、想定していたエラーだけでなく、コードの本当のバグ(NameErrorなど)まで静かに隠してしまいます。
1 def total_price(items): 2 try: 3 return sum(______) ^ 4 except: 5 return 0 6 7 print(total_price([10, 20, 30]))
出力: 0期待: 60 (エラーにはなりません)
空欄を埋めて実行を通す
pricesという変数は存在しません。bareなexceptがNameErrorまで飲み込んでしまい、合計が常に0になるバグが表に出てきません。
次の問題