只是为了最佳实践而在这里寻求一些建议。
我有一个布尔方法,可以检查数组中每个元素的特定条件。数组参数不能为空,也不能包含空值,否则返回 true 或 false 都没有意义。
最佳实践表明,如果将无效参数传递给方法,则应抛出 ArgumentException(或派生的)。如果数组参数为空,该方法将抛出 ArgumentNullException。但是,我不太确定应该为空数组或包含空值的数组抛出什么。
我最初的想法是抛出一个简单的 ArgumentException 并附上一条解释问题性质的消息,但一位同事建议我改为抛出一个 ArgumentOutOfRangeException。
我通常认为 ArgumentOutOfRangeException 是“太高”或“太低”的东西。我的同事似乎相信它也可以代表“不够”和“缺少的东西”。
他是对的吗?或者我应该遵循我的第一个想法并抛出 ArgumentException?