在什么情况下我们需要创建一个扩展 RuntimeException 的异常类?



我们有一个类A,有两个构造函数参数i和j。只有当我<j时,我们才能创建一个对象。所以:>

1(如果有人试图用i> j创建对象,我应该抛出一个异常吗?

2( 如果是,我应该创建自定义异常类吗?

3(如果是,它应该扩展异常或运行时异常类?

class A{
int i;
int j;
public A(int i, int j) {
// only when i < j we can create an object of A
this.i = i;
this.j = j;
}
}

>我会说这种情况的惯用方法是抛出一个IllegalArgumentException,这是一个内置的运行时异常。

如果要突出显示异常的原因,则应创建自定义异常,将一些信息放入异常并在其他位置捕获异常。使用检查(不是运行时(异常来强制类的用户处理它。

在你的情况下(正如Robby所建议的(,IlligalArgumentExeption是一个不错的选择。

最新更新