在测试情况下,我也行未处理的异常 - 抛出不工作
ZahlPasstNicht zahlPasstNicht = new ZahlPasstNicht(min, max, ist);
第二部分是强调了红色和它说:未处理的异常:ZahlPasstNicht
我可以使用尝试/ catch或让构造函数抛出一个错误,我试图做后者:
public class ZahlPasstNicht extends IndexOutOfBoundsException {
int a;
int b;
int c;
public ZahlPasstNicht(int a, int b, int c) throws ZahlPasstNicht {
this.a = a;
this.b = b;
this.c = c;
}
我在做什么错?
这是一个奇怪的用例。抛出异常的可能性为零,异常类不应抛出异常。 –
如果你在构造'ZahlPasstNicht'时设法导致'ZahlPasstNicht'类型的异常,我预见到一个无限循环......我曾经看到一个系统在记录导致它记录错误的错误时抛出一个错误。 。日志文件爆炸到50Gb。 – Persixty
另外,抛出'throws RuntimeException'是一种糟糕的做法,其中'IndexOutOfBoundsException'是'RuntimeException'。未经检查的异常不需要“抛出”。只有把'throws'用于检查异常。 –