1. Aufgabe:
Beschreiben Sie bitte, wie Sie einen Haltepunkt für den Debugger in einem Programm setzen.
[. . .]
<Pkt.>/5 Pkt.
2. Aufgabe:
Formulieren Sie catch-Anweisungen für die Verarbeitung folgender Ausnahmen:
a) ein Argument wird in einem ungültigen Format übergeben,
b) ein Zugriff auf eine nicht vorhandene Klasse,
c) eine gescheiterte Umwandlung einer Zeichenkette in einen numerischen Wert,
d) Zugriff auf einen ungültigen Index in einem Array,
e) für sämtliche echte Ausnahmen, die auftreten können.
Sie müssen dabei jeweils nur die Zeile mit der catch-Anweisung angeben.
[. . .]
je richtige Antwort 1 Pkt. = <Pkt.>/5 Pkt.
3. Aufgabe:
Sie vereinbaren für einen try-Block mehrere Exception Handler. In welcher Reihenfolge werden diese Exception Handler bearbeitet? An welcher Position muss sich zwingend der Exception Handler befinden, der alle denkbaren Ausnahmen gleichzeitig behandelt?
[. . .]
<Pkt.>/5 Pkt.
4. Aufgabe:
Wie werden Ausnahmen in Ihren Programmen behandelt, wenn Sie keine eigene Ausnahmebehandlung programmieren?
[. . .]
<Pkt.>/5 Pkt.
5. Aufgabe:
In unserer Klasse für die grafischen Eingabedialoge überprüfen wir durch den Vergleich einer Variablen mit dem Wert null, ob die Eingabe abgebrochen wurde. Diese Konstruktion kann grundsätzlich auch durch eine Ausnahmebehandlung ersetzt werden. Welche Ausnahme käme dafür infrage? Wie könnten Sie diese Ausnahme auslösen?
Ein kleiner Tipp: Sehen Sie sich genau an, welchen Wert der Eingabedialog liefert, wenn die Eingabe abgebrochen wird. Benutzen Sie dazu gegebenenfalls auch den Debugger von Eclipse.
[. . .]
<Pkt.>/10 Pkt.
6. Aufgabe:
Überarbeiten Sie die Plausibilitätsprüfung in dem Konstruktor der Klasse Wein aus dem Code 1.5 dieses Studienhefts so, dass bei ungültigen Werten nicht mehr stillschweigend Standardwerte gesetzt werden, sondern jeweils eine Ausnahme der Klasse IllegalArgumentException ausgelöst wird.
Sorgen Sie dafür, dass diese Ausnahmen an den Aufrufer weitergeleitet werden. Erstellen Sie auch eine main()-Methode, in der Sie die Ausnahmen behandeln, und testen Sie dort die Änderungen.
[. . .]
<Pkt.>/70 Pkt.
insgesamt <Pkt.>/100 Pkt.