从重载运算符抛出什么异常

时间:2012-06-07 17:12:34

标签: c# exception operator-overloading

我制作了一个载荷过重operator *的Matrix实现。如果有两个不兼容尺码的基质,我想抛出ArgumentExceptionInvalidOperationException。我应该使用哪一个?或者也许它可以方便地宣布我自己的?

1 个答案:

答案 0 :(得分:4)

绝对创建自己的MismatchingDimensionsException

您的用户不会被这样的例外所困惑,他们会立即知道问题所在。在处理矩阵时,这种问题可能会发生很多。

现在,您是从ArgumentException还是InvalidOperationException派生出来的?我会说前者,但后者同样有意义。如果你使用自己的异常类,那就更不重要了。