我真的没有问题需要解决,我只想知道是否有一种常见的方法来处理以下问题:
我有一个带两个参数的构造函数(都是int)。构造函数本身只初始化我的对象的属性。但是,如果未履行(arg1 > arg2)
,则稍后会出现问题。因此,我想在这里抛出Exception
,因为这是潜在问题产生的地方。
在这种情况下是否会抛出一个共同的Exception
?或者您更愿意抛出自定义Exception
?如果是这样,你会怎么称呼它?
答案 0 :(得分:5)
在这种情况下是否会抛出一个共同的
Exception
?
根据the documentation,可以抛出IllegalArgumentException
:
抛出表示方法已通过非法或不恰当的参数。
或者您更愿意抛出自定义
Exception
?
除非您已经拥有异常,否则不会抛出自己的异常,而且有一些类似的情况会抛出它。
尝试回答以下问题,他们会指出你的答案:
答案 1 :(得分:1)
这是使用IllegalArgumentException
的一个很好的理由。您可以在课堂上使用它:
class YourClass {
int first, second;
YourClass(int first, int second) {
if(first <= second) {
throw new IllegalArgumentException("First argument has to be higher than second, arguments passed: " + first + ", " + second);
}
this.first = first;
this.second = second;
}
}