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

本文关键字:什么 异常 重载 运算符 | 更新日期: 2023-09-27 18:36:27

我做了一个矩阵实现,它有一个重载的operator *。如果有 2 个大小不兼容的矩阵,我想扔ArgumentExceptionInvalidOperationException.我应该使用哪一个?或者也许声明我自己的

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

方便?

一定要创建自己的MismatchingDimensionsException .

您的用户不会因此类异常而感到困惑,他们会立即知道问题所在。这是处理矩阵时经常发生的问题。

现在,您是从 ArgumentException 还是 InvalidOperationException 派生的?我会说前者,但后者同样有意义。如果您使用自己的异常类,则其重要性较小。