Exception abfangen
-
Hallo,
ich möchte eine Arrayindexoutofboundsexception abfangen, die durch eine falsche Benutzereingabe entstehen könnte. Das Programm stürzt aber immer wieder ab. Nur das s wird eingegeben und kann somit die Exception verursachen.
try { Feld[z][s] = (Spieler == 'A') ? 'x':'o'; } catch(ArrayIndexOutOfBoundsException e) { Feld[z][1] = (Spieler == 'A') ? 'x':'o'; }
Könnt ihr mir bitte sagen, was ich machen soll, damit das Programm nicht bei einer falschen Eingabe abstürzt?
Vielen Dank im Voraus
mfg
randy2
-
Kannst du nicht einfach ueberpruefen, ob die Eingabe des Benutzers korrekt ist?
Einfach mal probieren und schauen, ob eine Exception geworfen wird ist IMO nicht so toll.
-
Kann ich auch. Zu Übungszwecken wollte ich es aber mit einem try catch probieren.
-
Was bekommst du denn konkret fuer eine Fehlermeldung wenn das Programm crasht?
-
Eine ArrayIndexOutOfBound Exception. Ich habe das Problem mittlerweile mit einer if Abfrage gelöst.
-
Vielleicht hatte das Feld ja die Größe 1 und Feld[z][1] war deshalb auch noch out of bounds.
-
Nein, es hatte bereits die richtige Größe und ließ sich auch sauber ausgeben. Nachdem ich mit dem ursprünglichen Programm fertig war, probierte ich es mit einer neuen class datei, die nur diesen ehemaligen Problemfall beinhaltete. Da hat es, komisch aber war, funktioniert.