Hallo zusammen
Aufgabenstellung:
In der Klasse für grafische Eingabedialoge überprüfen wir durch den Vergleich der Variablen mit dem Wert null, ob die Eingabe abgebrochen wurde. Diese Konstruktion kann man auch durch eine Ausnahmebehandlung ersetzen. Welche Ausnahme käme dafür infrage? Wie könnten man diese Ausnahme auslösen?
Lösungsvorschlag:
Es ist eine NullPointerException
Die Ausnahme könnte man/frau so auslösen:
NullPointerException provozieren, indem man/frau z.B. versucht eine Methode von eingabeTemp aufzurufen:
Frage an euch: Kann man den Lösungsvorschlag so gelten lassen?
danke im Voraus.
Aufgabenstellung:
In der Klasse für grafische Eingabedialoge überprüfen wir durch den Vergleich der Variablen mit dem Wert null, ob die Eingabe abgebrochen wurde. Diese Konstruktion kann man auch durch eine Ausnahmebehandlung ersetzen. Welche Ausnahme käme dafür infrage? Wie könnten man diese Ausnahme auslösen?
Java:
package eindialogV2;
//für den Eingabedialog
import javax.swing.JOptionPane;
public class EingabeDialogV2 {
//die Hilfsmethode zum Einlesen der Daten über den Dialog
//Beschreibung siehe oben
private static String lesen(String text) throws AbbruchException {
String eingabeTemp;
eingabeTemp = JOptionPane.showInputDialog("Bitte geben Sie einen " + text + " Wert ein:");
//Wenn die Eingabe abgebrochen wurde, wird eine selbst definierte Ausnahme ausgelöst
if (eingabeTemp == null)
throw new AbbruchException("Die Eingabe für " + text + " wurde abgebrochen");
return (eingabeTemp);
}
Lösungsvorschlag:
Es ist eine NullPointerException
Die Ausnahme könnte man/frau so auslösen:
NullPointerException provozieren, indem man/frau z.B. versucht eine Methode von eingabeTemp aufzurufen:
Java:
try {
String eingabeTemp = JOptionPane.showInputDialog("Bitte geben Sie einen " + text + " Wert ein:");
return eingabeTemp.toString(); // hier der Versuch, toString() aufzurufen - falls eingabeTemp == null => NPE
} catch (NullPointerException ex) {
throw new AbbruchException("Die Eingabe für " + text + " wurde abgebrochen!");
}
Frage an euch: Kann man den Lösungsvorschlag so gelten lassen?
danke im Voraus.