ArgumentException用于参数组合

Ric*_*chK 5 c# validation exception

我有一个方法,需要三个参数(3D点).如果积分为共线,我想抛出异常.对我来说明显的例外是ArgumentException,但最好的做法是在构造函数中包含param名称.在我的情况下,它是所有三个参数的组合,这是无效的输入 - 所以最佳实践不会起作用(我认为我的代码分析会像地狱一样呻吟).

所以我ArgumentException在这里使用或类似的东西,InvalidOperationException因为有多个参数导致问题?

Tim*_*mwi 2

我认为两者都很好。

如果您选择使用ArgumentException,则可以使用任一参数的名称。我个人会使用最后一个参数的名称。毕竟,如果点是共线的,那么只需要改变其中一个参数就可以了。:-)

  • 构造函数有一个重载,它只接受消息而不接受参数名称。它可能适用于没有特定参数比其他参数更能导致问题的情况(即,当它是一个糟糕的组合时)。 (3认同)