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;
}
}
}
}
添加回答
舉報