Exception-Frage

Codix

Bekanntes Mitglied
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?

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.
 
K

kneitzel

Gast
Also irgendwie ergibt das alles absolut keinen Sinn.

Exceptions sind für reine Ausnahmen. Eine valide Nutzereingabe (Cancel Button zu drücken ist eine valide Möglichkeit, denn dazu wurde das dem Benutzer ja als Option gegeben!) mit Ausnahmen zu reagieren, ist in meinen Augen schon ein fragwürdiges Design.

Also entweder man lässt da auch null zu als Rückgabe oder macht da ein Optional<String> als Rückgabe, damit da auf den Fall "Nutzer macht keine Eingabe" reagiert werden kann.

Aber ok, man beschließt, das über eine Exception zu lösen. Dann hat man einen Code, der so aussieht wie der erste gegebene.

Aber eine NPE zu provozieren um diese dann zu fangen ist eine Idee, die ich nicht nachvollziehen kann. Ist die Aufgabenstellung so korrekt wiedergegeben? Ist das so wirklich die Fragestellung?

Wenn sowas jetzt so gelehrt wird als Erweiterung, dann muss ich unweigerlich an Kung Fu Panda denken: "Jetzt gibt es einen Level 0".

Edit: Das mit dem 0-Level bezieht sich ggf auf Lerninhalte / Aufgaben und nicht auf Personen. Ich urteile nicht über Codix oder den Lehrer/Dozenten ... Die Aufgabenstellung finde ich lediglich etwas verwirrend.
 
Zuletzt bearbeitet von einem Moderator:

Codix

Bekanntes Mitglied
Also irgendwie ergibt das alles absolut keinen Sinn.

Exceptions sind für reine Ausnahmen. Eine valide Nutzereingabe (Cancel Button zu drücken ist eine valide Möglichkeit, denn dazu wurde das dem Benutzer ja als Option gegeben!) mit Ausnahmen zu reagieren, ist in meinen Augen schon ein fragwürdiges Design.

Also entweder man lässt da auch null zu als Rückgabe oder macht da ein Optional<String> als Rückgabe, damit da auf den Fall "Nutzer macht keine Eingabe" reagiert werden kann.

Aber ok, man beschließt, das über eine Exception zu lösen. Dann hat man einen Code, der so aussieht wie der erste gegebene.

Aber eine NPE zu provozieren um diese dann zu fangen ist eine Idee, die ich nicht nachvollziehen kann. Ist die Aufgabenstellung so korrekt wiedergegeben? Ist das so wirklich die Fragestellung?

Wenn sowas jetzt so gelehrt wird als Erweiterung, dann muss ich unweigerlich an Kung Fu Panda denken: "Jetzt gibt es einen Level 0".

Edit: Das mit dem 0-Level bezieht sich ggf auf Lerninhalte / Aufgaben und nicht auf Personen. Ich urteile nicht über Codix oder den Lehrer/Dozenten ... Die Aufgabenstellung finde ich lediglich etwas verwirrend.

Die Aufgabenstellung ist korrekt. Wäre denn die Antwort richtig, wenn die Aufgabenstellung die gleiche bleibt?
 
K

kneitzel

Gast
Die Aufgabenstellung ist korrekt. Wäre denn die Antwort richtig, wenn die Aufgabenstellung die gleiche bleibt?
Ja, wenn die Aufgabenstellung so stimmt, dann ist es durchaus möglich, dass so eine Lösung gefordert ist. Zumindest fällt mir gerade nicht ein, wie es sonst zu interpretieren wäre...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Frage zu Throw Exception Java Basics - Anfänger-Themen 2
D Frage zu Strings einer Exception Java Basics - Anfänger-Themen 4
F Exception-Frage Java Basics - Anfänger-Themen 3
G Frage zu Exception-Handling Java Basics - Anfänger-Themen 5
T Exception-frage Java Basics - Anfänger-Themen 5
M Frage zu Exception Handling Java Basics - Anfänger-Themen 10
J Frage zu Exception Java Basics - Anfänger-Themen 9
M Frage zu einem Exception oder Api-Dokument Java Basics - Anfänger-Themen 11
G Frage zu einer Exception Java Basics - Anfänger-Themen 2
GilbertGrape Exception-Frage Java Basics - Anfänger-Themen 5
S Frage zu Exception Java Basics - Anfänger-Themen 5
I Exception wird gefangen, aber trotzdem in Error Log? Java Basics - Anfänger-Themen 10
W Null-Pointer Exception beim Programmstart Java Basics - Anfänger-Themen 8
Ostkreuz String Exception Java Basics - Anfänger-Themen 8
Fiedelbambu Exception in Application constructor Java Basics - Anfänger-Themen 3
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
F abbruch Exception lässt sich nicht erstellen Java Basics - Anfänger-Themen 2
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
F Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11 at main.main(main.java:11) Java Basics - Anfänger-Themen 2
M Exception in thread "main" java.util.NoSuchElementException Java Basics - Anfänger-Themen 2
N Exception beim Verwenden von Arraylist? Java Basics - Anfänger-Themen 10
B Compiler-Fehler Fehlermeldung Exception in thread, falsche Eingabewert Java Basics - Anfänger-Themen 2
S JavaKara Null Exception Error Java Basics - Anfänger-Themen 4
T Eigene Exception - ohne werfen abfangen Java Basics - Anfänger-Themen 2
LiFunk Exception: es dürfen nur Nummern eingelesen werden Java Basics - Anfänger-Themen 6
low_in_the_head Eigene Exception nutzen Java Basics - Anfänger-Themen 4
1 Exception Java Basics - Anfänger-Themen 2
S Kriege Fehler "Exception in thread" beim Benutzen von SubStrings. Java Basics - Anfänger-Themen 2
I JAX-RS Exception Handling Java Basics - Anfänger-Themen 4
L Meine erste eigene Exception Klasse Java Basics - Anfänger-Themen 10
J null exception Array Java Basics - Anfänger-Themen 5
O Exception in thread "main" java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 4
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
B Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException Java Basics - Anfänger-Themen 8
I Exception bei Button mit wait() und notifyAll() Java Basics - Anfänger-Themen 3
N Wie teste ich eine geworfene Exception? Java Basics - Anfänger-Themen 8
R Methoden ArrayList clonen wirft exception Java Basics - Anfänger-Themen 3
D Scanner- Exception NoSuchElementException Java Basics - Anfänger-Themen 2
N Exception werfen bei falscher Datumseingabe Java Basics - Anfänger-Themen 14
A Exception handeling mit finally und objektreferenzen Java Basics - Anfänger-Themen 6
S Exception Java Basics - Anfänger-Themen 2
J Exception-Aufgabe Java Basics - Anfänger-Themen 8
S Verwenden von throw Exception an der Funktion Java Basics - Anfänger-Themen 2
R Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
Z Fragen zu Exception (Throws/throw) Java Basics - Anfänger-Themen 7
OSchriever Exception für Abbrechen-Schaltfläche JOptionpane Java Basics - Anfänger-Themen 9
J Dateien in Verzeichnissen rekursiv auflisten wirft Exception Java Basics - Anfänger-Themen 4
J Exception unreachable Java Basics - Anfänger-Themen 12
O unchecked Exception Java Basics - Anfänger-Themen 4
P Exception werfen Java Basics - Anfänger-Themen 15
B EJB und Arquillian - bekomme Nullpointer Exception beim Aufruf der EJB Klasse Java Basics - Anfänger-Themen 40
S Exception bei Verwendung von LocalDate Java Basics - Anfänger-Themen 19
I Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 Java Basics - Anfänger-Themen 3
D Warum die Nullpointer Exception Java Basics - Anfänger-Themen 6
O Exception behandlung einfach Ueben mit Fakt! Java Basics - Anfänger-Themen 10
I OOP Was ist die "Exception Hierarchie" ? Java Basics - Anfänger-Themen 3
U Null Exception aber keine Ahnung warum Java Basics - Anfänger-Themen 5
G Exception und Ausgabe der Duplikate Java Basics - Anfänger-Themen 6
H Try Catch Throw Exception Java Basics - Anfänger-Themen 1
W Exception in Main abfangen oder in der Methode? Java Basics - Anfänger-Themen 10
F Referenz an ein Objekt in einer anderen Klasse erstellen(Nullpointer exception) Java Basics - Anfänger-Themen 6
Mosquera Exception Java Basics - Anfänger-Themen 5
M rekursive division/0 mit exception Java Basics - Anfänger-Themen 18
N Nullpointer exception Java Basics - Anfänger-Themen 4
L Eigene Exception schreiben bei zu langem Array Java Basics - Anfänger-Themen 10
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
I equals (Override) mit eigener Exception (keine Runtime-Exception) Java Basics - Anfänger-Themen 9
S Array Grenzen-Exception Java Basics - Anfänger-Themen 11
E InputStream im Servlet wirft Exception Java Basics - Anfänger-Themen 5
D Erste Schritte Java.lang.NullPointer.Exception Java Basics - Anfänger-Themen 8
G Arrays out of Bounds exception Java Basics - Anfänger-Themen 2
H Compiler-Fehler Out of Bunce Exception bei einem Char Java Basics - Anfänger-Themen 6
C Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 Java Basics - Anfänger-Themen 3
C Null Pointer Exception Java Basics - Anfänger-Themen 10
F Klassen Eigene Exception Bedingungen festlegen Java Basics - Anfänger-Themen 2
G Null Pointer Exception Java Basics - Anfänger-Themen 4
GreenTeaYT Exception und zur OOP fragen? Java Basics - Anfänger-Themen 3
O Exception bei Parse-Vorgang Java Basics - Anfänger-Themen 17
T Exception Problem Java Basics - Anfänger-Themen 5
Z Getter/Setter NullPointer Exception Java Basics - Anfänger-Themen 6
W Nullpointer Exception bei .add(...) Java Basics - Anfänger-Themen 6
L Input/Output InputMismatch.Exception Java Basics - Anfänger-Themen 7
B Exception Liste von Liste Java Basics - Anfänger-Themen 3
D Throw Exception Java Basics - Anfänger-Themen 2
MiMa JavaDoc Exception @throws schlagen an Java Basics - Anfänger-Themen 4
J Exception in thread "main" Java Basics - Anfänger-Themen 1
B Exception richtig einbinden Java Basics - Anfänger-Themen 1
M Exception soll Werte mitgeliefert bekommen Java Basics - Anfänger-Themen 12
M Selbstdefinierte Exception Java Basics - Anfänger-Themen 5
B Exception Throwable Java Basics - Anfänger-Themen 11
M Erste Schritte Start Methode - Exception Java Basics - Anfänger-Themen 1
F Operatoren Wieso fliegt hier eine NullPointer Exception :( Java Basics - Anfänger-Themen 3
F nullpointer exception - arrayerstellung Java Basics - Anfänger-Themen 4
K Iterator-Interface implementieren mit Exception Handlung Java Basics - Anfänger-Themen 1
H Erste Schritte Exception: 0 Java Basics - Anfänger-Themen 2
A Exception vs. Testklasse (Programm testen) Java Basics - Anfänger-Themen 2
L Fehler: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
K Exception nur im "Debug"-Modus und jedem 3.-5. mal Ausführen Java Basics - Anfänger-Themen 3
S Java memory fehler: Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap spa Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben