In Java gibt es dafür das Konzept der Exceptions (Ausnahmen).
Wenn in einer Methode ein Fehler auftritt, kann ein Fehler-Objekt erzeugt und mit throw zum Aufrufer ‚geworfen‘ werden.
Im Code-Beispiel gibt der Benutzer sein Alter auf der Konsole ein. In der Methode setAlter() wird überprüft, ob der übergebene Wert positiv ist. Ist das nicht der Fall, wird in Zeile 7 ein Fehler-Objekt erzeugt und mit throw dem Aufrufer p.setAlter() übermittelt. Die Zuweisung in Zeile 9 wird im Fehlerfall nicht mehr ausgeführt. Das Programm springt in Zeile 25. Der Fehler wird behandelt, indem eine Fehlermeldung ausgegeben wird.
public class Person {
private int alter;
public void setAlter(int alter) throws Exception {
if (alter < 0) {
throw new Exception("Alter darf nicht negativ sein: " + alter);
}
this.alter = alter;
}
public int getAlter() {
return alter;
}
public static void main(String[] args) {
Person p = new Person();
while (true) {
try {
System.out.print("Alter eingeben > ");
String s = In.readLine();
int a = Integer.parseInt(s);
p.setAlter(a); // hier kann Fehler auftreten
break;
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
System.out.println("Du bist " + p.getAlter() + " Jahre alt.");
}
}
Weitere Information in Mössenböck, Kap. 19.
