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

Java 我应该使用什么异常类型?,java,exception,coding-style,Java,Exception,Coding Style,我正在编写一个执行矩阵运算的程序,我正在试图弄清楚在无效维度的情况下应该使用哪种验证。是否存在一些已经存在的异常类型,可以让我的操作抛出;还是应该实现自己的异常类型?我知道几乎所有的异常类型都可以满足我的要求,但问题是要确保异常确实描述了导致它的问题。就像其他人所说的,您可能不需要这样做。但既然顾客总是对的- 然而,这里有一个相关的SO问题:最适合您所寻找的是。您可以按原样使用它,也可以从中派生出自己的矩阵索引OutofBoundsException异常。您可以抛出一条消息,说明矩阵维度不适合您

我正在编写一个执行矩阵运算的程序,我正在试图弄清楚在无效维度的情况下应该使用哪种验证。是否存在一些已经存在的异常类型,可以让我的操作抛出;还是应该实现自己的异常类型?我知道几乎所有的异常类型都可以满足我的要求,但问题是要确保异常确实描述了导致它的问题。

就像其他人所说的,您可能不需要这样做。但既然顾客总是对的-


然而,这里有一个相关的SO问题:

最适合您所寻找的是。您可以按原样使用它,也可以从中派生出自己的
矩阵索引OutofBoundsException
异常。

您可以抛出一条消息,说明矩阵维度不适合您尝试执行的操作


例如,如果您的库用户试图使用
nXm
矩阵参数调用仅适用于
nXn
矩阵的方法,您应该抛出这样的异常。

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

为什么
IllegalArgumentException
不起作用?捕获运行时异常不是一种坏做法吗?@Eng.Fouad我的理解是OP计划将此异常抛出到他的库中,而不是捕获它。