我最近遇到了一个简单但令人讨厌的错误。我有一个列表,我想找到其中最小的成员。我使用了 Python 的内置 min()。一切都很好,直到在一些奇怪的情况下列表是空的(由于我无法预料到的奇怪的用户输入)。我的应用程序因 ValueError 崩溃(顺便说一句 - 官方文档中没有记录)。
我有非常广泛的单元测试,我会定期检查覆盖率以避免这样的意外。我也使用 Pylint(一切都集成在 PyDev 中)并且我从不忽略警告,但我未能在我的用户之前发现这个错误。
有什么我可以改变我的方法来避免这些运行时错误的吗?(这会在 Java / C# 的编译时被捕获?)。
我正在寻找的不仅仅是用一个大的 try-except 来包装我的代码。我还可以做些什么?有多少其他内置 Python 函数隐藏着这样令人讨厌的惊喜???