Wie kann man eine Methode schreiben, die eine Fehlermeldung zurückgeben kann?

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.