3 回答
TA贡献1831条经验 获得超10个赞
但是我希望让它完成循环而不是在错误被捕获时停止。
好的。然后将try和移动catch 到循环中。
for (int i = 0; i < 6; i++) {
try {
testInst = new myClass(sizes[i]);
System.out.println("New example size " + testInst.size);
} catch (NegativeArraySizeException e) {
System.out.println("Must not be a negative.");
}
}
TA贡献2012条经验 获得超12个赞
首先指定程序中的位置可以抛出异常。其次指定如何处理异常,例如指定您要抛出该异常还是只写日志并继续执行。第三,您指定何时处理异常。在您的代码中,try-catch 可以在构造函数中,也可以在循环和下面的代码中,以达到您的目标。testInst = new myClass(sizes[i]);
TA贡献1827条经验 获得超8个赞
只需将 try-catch 块放入循环中即可。这样,如果抛出错误,您可以处理它并继续循环。这是代码:
public class myClass {
int[] table;
int size;
public myClass(int size) {
this.size = size;
table = new int[size];
}
public static void main(String[] args) {
int[] sizes = {5, 3, -2, 2, 6, -4};
myClass testInst;
for (int i = 0; i < 6; i++) {
try {
testInst = new myClass(sizes[i]);
System.out.println("New example size " + testInst.size);
} catch(NegativeArraySizeException e) {
System.out.println("Must not be a negative.");
continue;
}
}
}
}
添加回答
举报