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