上級 › except: だけで書くと本当のバグまで隠れる › パターン5
except: だけで書くと本当のバグまで隠れる
except:とだけ書くとあらゆる例外を捕まえてしまい、想定していたエラーだけでなく、コードの本当のバグ(NameErrorなど)まで静かに隠してしまいます。
1 def divide(a, b): 2 try: 3 return a / _ ^ 4 except: 5 return -1 6 7 print(divide(10, 2))
出力: -1期待: 5.0 (エラーにはなりません)
空欄を埋めて実行を通す
引数名bをcと打ち間違えると、本来はNameErrorになるはずが、bareなexceptに握りつぶされて-1が返り続けます。
次の問題