Hallöchen,
ich habe mal eine frage über das Exception Handling in Schleifen.
Ich habe ein doppeltes Array durch das ich mittels 2 for-Schleifen durch iteriere um die Werte zu vergleichen.
Nur leider komme ich da hin und wieder mal aus der Arraygröße raus (was leider nicht verhinderbar ist… glaube ich… und eigentlich auch nicht stört) und mir wird eine ArrayIndexOutOfBoundsException angezeigt.
Da habe ich mir gedacht die könnte ich ja einfach mit try und catch abfangen… aber wenn ich mich nicht täusche springt er sobald er eine Exception hat aus der Schleife raus… was ich nicht will da er das komplette Array durch testen soll…
public void testFields(int x, int y) {
for (int i = 0; i < fields.length; i++) {
if (fields[x].equals("x")) {
fieldStatus = "x";
}
if (fields[y].equals("x")) {
fieldStatus = "x";
}
try{
if (fields[y+i][x+i].equals("x")) {
fieldStatus = "x";
}
if (fields[y-i][x-i].equals("x")) {
fieldStatus = "x";
}
if (fields[y-i][x+i].equals("x")) {
fieldStatus = "x";
}
if (fields[y+i][x-i].equals("x")) {
fieldStatus = "x";
}else{
fieldStatus = "Q";
}
}catch(ArrayIndexOutOfBoundsException aioobe){
fieldStatus = "x";
}
}
}
Eine Lösung die mir einfallen würde wäre das ich einfach um jede if Bedingung so einen try/catchblock mache… aber das wäre ziemlich umständlich.
Fällt euch ein einfacherer Weg ein, wie ich das Problem lösen könnte?.. ich nehme mal stark an das für so etwas eigentlich nicht try/catch benutzt wird.
Vielen Dank
theoretisch