最近、単純だが厄介なバグに遭遇しました。私はリストを持っていて、その中で最小のメンバーを見つけたいと思っていました。Python の組み込みの min() を使用しました。いくつかの奇妙なシナリオでリストが空になるまで、すべてがうまく機能しました(私が予想できなかった奇妙なユーザー入力のために)。アプリケーションが ValueError でクラッシュしました (ところで、公式ドキュメントには記載されていません)。
私は非常に広範な単体テストを行っており、このような驚きを避けるために定期的にカバレッジをチェックしています。私も Pylint (すべて PyDev に統合されています) を使用しており、警告を無視することはありませんが、ユーザーよりも先にこのバグをキャッチできませんでした。
この種の実行時エラーを回避するために、方法論を変更できるものはありますか? (Java / C# でコンパイル時にキャッチされたものはどれですか?)。
コードを大きな try-except でラップする以上のものを探しています。他に何ができますか?このような厄介な驚きを隠しているPython関数のビルドは、他にいくつありますか???