我应该使用什么异常类型?

时间:2012-09-24 17:58:19

标签: java exception coding-style

我正在编写一个执行矩阵运算的程序,我正在试图弄清楚在无效维度的情况下我应该使用什么样的代码。是否存在一些已经存在的异常类型,我的操作可以接受;或者我应该实现自己的异常类型?我知道几乎任何异常类型都会按我的意愿行事,但问题是确保异常实际上描述了导致它的问题。

4 个答案:

答案 0 :(得分:7)

最适合您要找的是IndexOutOfBoundsException。您可以按原样使用它,也可以从中派生自己的MatrixIndexOutOfBoundsException例外。

答案 1 :(得分:2)

像其他人说的那样,你可能不需要。但由于客户永远是对的 - You should create your own exception type.

这是一个相关的SO问题:Exception in thread "main" java.lang.RuntimeException: Matrix is singular

答案 2 :(得分:2)

你可以抛出一个IllegalArgumentException(String message),上面的消息描述矩阵尺寸不适合你想要做的事情。

例如,如果您的图书馆用户正在尝试调用仅适用于nXn矩阵参数的nXm矩阵的方法,则应抛出此类异常。

答案 3 :(得分:0)

如果您可以使用自己的例外。那么你自己的异常应该扩展java.lang.RuntimeException或RuntimeException的子类。 RuntimeException是未经检查的异常。在这种情况下,您应该使用未经检查的异常。