Ausnahmen abfangen

Status
Nicht offen für weitere Antworten.

babuschka

Top Contributor
Hallo,

ich möchte bei meinen Programmen gerne, zumindest an den Stellen, an denen der Benutzer eine Eingabe tätigt, eventuelle Fehlermeldungen abfangen und ggf. verarbeiten, damit mein Prog nich beendet wird.

Wie mach ich das, wenn double/int/float/... verlangt wird, aber ein falsches Zeichen (z.B. 'a' oder '#') eingegeben wird? Da stürzt das Programm dann ab. Ich bin letztendlich auf die Try-/Catch-Schleifen gestoßen, kenn mich da aber noch nich so sehr mit aus. Gibt es viell. noch andere Möglichkeiten, in meinen Beispielen den Scanner bei falscher Eingabe so lange laufen zu lassen, bis die Eingabe korrekt ist?

Schonmal Danke im Voraus

Gruß
Sascha
 

The_S

Top Contributor
Hi,

try-catch ist keine Schleife sondern eine Anweisung, ein Block oder sonstiges, aber keine Schleife ;) .

Ein Beispiel:

Code:
String line = null;
int zahl = 0;
BufferedReader buffy = new BufferedReader(new InputStreamReader(System.in));
while(!(line = buffy.readLine().equals("exit")) {
   try {
     zahl = Integer.parseInt(line);
     break;
   }
   catch (NumberFormatException e) {
      System.out.println("Bitte eine ganze Zahl oder 'exit' eingeben");
   }
}
 
G

Guest

Gast
DaSaeschOnAir hat gesagt.:
Hallo,

ich möchte bei meinen Programmen gerne, zumindest an den Stellen, an denen der Benutzer eine Eingabe tätigt, eventuelle Fehlermeldungen abfangen und ggf. verarbeiten, damit mein Prog nich beendet wird.

Wie mach ich das, wenn double/int/float/... verlangt wird, aber ein falsches Zeichen (z.B. 'a' oder '#') eingegeben wird? Da stürzt das Programm dann ab. Ich bin letztendlich auf die Try-/Catch-Schleifen gestoßen, kenn mich da aber noch nich so sehr mit aus. Gibt es viell. noch andere Möglichkeiten, in meinen Beispielen den Scanner bei falscher Eingabe so lange laufen zu lassen, bis die Eingabe korrekt ist?

Schonmal Danke im Voraus

Gruß
Sascha

Gleich vorab Try-/Catch-Schleifen gibt es nicht. Genauso wie es keine If-Scheifen gibt.

Für das ganze hast du jetzt zwei Möglichkeiten, entweder du machst das ganze in einen Try-Catch-Block

Code:
try {
    // Hier dein Code
} catch (Exception) { // Schätze mal das wird wohl eine NumberFormatException sein
    // Hier die Fehlerbehandlung
}

oder du prüfst die Benutzereingaben selbstständig nochmal bevor du sie im Programm dann weitergibst

Code:
String benutzereingaben = ....... // String für die Benutzereingaben
// Um den String zu prüfen kannst du jetzt entweder einen Try-Catch-Block verwenden wo du versuchst
// die Benutzereingaben zu Casten. Funktioniert es sind die Eingaben ok, gibt es nen Fehler waren sie falsch
try {} cacth {}
// Oder du gehst den String in einer for-Schleife durch und prüfst jede einzelne Stelle
for (int i = 0; i < benutzereingaben.lenth; i++) {
    if (!Charakter.isDigit(benutzereingaben.charAt(i))) {
        // Fehler
    }
}

Die Code-Schnipsel hab ich aus dem Kopf getippt, also keine Gewähr auf Richtigkeit. Als Denkanstoss sollten sie jedoch reichen.

Achja und man könnte dir bestimmt besser helfen, wenn du zukünftig etwas Code mit posten würdest, dass man sieht was in deinem Programm eigentlich so läuft.

MfG
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
B Ausnahmen Java Basics - Anfänger-Themen 20
M Input/Output Eine Zahl eingeben mit Ausnahmen Java Basics - Anfänger-Themen 12
B Erste Schritte try-catch-Klauseln, überprüfte Ausnahmen Java Basics - Anfänger-Themen 4
K Shortcuts in Java ohne Ausnahmen verfügbar? Java Basics - Anfänger-Themen 2
C Ausnahmen in Java Java Basics - Anfänger-Themen 11
J Ausnahmen behandeln aber wie?! Java Basics - Anfänger-Themen 17
S ablauflogik von ausnahmen Java Basics - Anfänger-Themen 5
M Exceptionhandling von selbstgeschriebenen Ausnahmen Java Basics - Anfänger-Themen 2
B Ausnahmen - Exception Java Basics - Anfänger-Themen 3
S Frage zu Ausnahmen Java Basics - Anfänger-Themen 2
Dimax SizeLimitExceededException abfangen Java Basics - Anfänger-Themen 6
frager2345 Warum muss ich hier im Konstruktor meine Exeption nicht abfangen ? Java Basics - Anfänger-Themen 4
volcanos enum und switch (neu): falschen Wert mit IllegalArgumentException oder mit EnumConstantNotPresentException abfangen ? Java Basics - Anfänger-Themen 51
T Eigene Exception - ohne werfen abfangen Java Basics - Anfänger-Themen 2
K falsche Eingabe abfangen Java Basics - Anfänger-Themen 8
Kirby.exe Alle möglichen Error Möglichkeiten abfangen Java Basics - Anfänger-Themen 33
F Mehrere Exceptions in einem Catch-Block abfangen Java Basics - Anfänger-Themen 12
D Wie kann man eine solche Fehlermeldung abfangen Java Basics - Anfänger-Themen 4
W Exception in Main abfangen oder in der Methode? Java Basics - Anfänger-Themen 10
L Erste Schritte IndexOutOfBounce abfangen? Java Basics - Anfänger-Themen 17
M GUI - Fehler abfangen beim Dividieren Java Basics - Anfänger-Themen 8
J Fehler abfangen mit einer Bedingung Java Basics - Anfänger-Themen 3
B Erste Schritte Abfangen eines Fehlers/Ausbrechen aus der Schleife Java Basics - Anfänger-Themen 12
W In einer Function<Double, Double> undefinierte Rechenoperationen abfangen? Java Basics - Anfänger-Themen 3
D Input/Output Runtime().exec fehler abfangen Java Basics - Anfänger-Themen 4
A Int Eingabe: String mit Exception abfangen. Aber wie? Java Basics - Anfänger-Themen 3
P Variablen Abfangen von eingaben per java.util.Scanner und weiter Verarbeitung Java Basics - Anfänger-Themen 7
S java tastendrücke direkt abfangen und printen Java Basics - Anfänger-Themen 3
H Fehler im Konstruktor abfangen Java Basics - Anfänger-Themen 10
OnDemand Exception Abfangen Java Basics - Anfänger-Themen 5
T Division durch 0 abfangen mit Schleife Java Basics - Anfänger-Themen 4
B Erste Schritte Integer Eingabe über Scanner mit Abfangen von Eingabefehlern Java Basics - Anfänger-Themen 3
H Wie kann ich STRG+V abfangen und ändern Java Basics - Anfänger-Themen 2
B Exception abfangen Java Basics - Anfänger-Themen 33
D [jni] loadLibrary Exception abfangen Java Basics - Anfänger-Themen 9
M Windows Aktionen abfangen Java Basics - Anfänger-Themen 3
W Tastatureingabe abfangen Java Basics - Anfänger-Themen 15
S Exception abfangen Java Basics - Anfänger-Themen 2
N Fehlerquelle leere ArrayList elegant abfangen Java Basics - Anfänger-Themen 3
J Standard Exceptions abfangen Java Basics - Anfänger-Themen 5
M Datentypen Fehler abfangen Java Basics - Anfänger-Themen 5
J Eclipse Console Ausgaben Abfangen Java Basics - Anfänger-Themen 2
sylo Warnings abfangen Java Basics - Anfänger-Themen 2
F Falscheingabe abfangen - Endlosschleife Java Basics - Anfänger-Themen 5
H MouseEvent abfangen Java Basics - Anfänger-Themen 9
A Exception Verständnisfrage: Exceptions während, einer Statischenzuweisung abfangen Java Basics - Anfänger-Themen 10
Spin Exception abfangen Java Basics - Anfänger-Themen 3
M Frage zum Abfangen ungültiger Werte Java Basics - Anfänger-Themen 9
I Fehlendes Argument in Main-Methode abfangen Java Basics - Anfänger-Themen 15
N Probleme beim abfangen von fehlern Java Basics - Anfänger-Themen 4
A FileNotFoundException abfangen? Java Basics - Anfänger-Themen 3
H Falsche Eingabe über try-catch abfangen Java Basics - Anfänger-Themen 2
Spin Abfangen von Fehlern Java Basics - Anfänger-Themen 9
M Exception abfangen? Java Basics - Anfänger-Themen 3
G Eine exception mit negativen zahlen abfangen ? Java Basics - Anfänger-Themen 11
I Dialog - "Ja" / "Nein" abfangen Java Basics - Anfänger-Themen 3
G SQLServerException abfangen Java Basics - Anfänger-Themen 2
C alle möglichen Datumseingaben im Textfeld abfangen Java Basics - Anfänger-Themen 12
G Enter Taste abfangen Java Basics - Anfänger-Themen 11
M Abfangen von java.lang.NumberFormatException Java Basics - Anfänger-Themen 6
T String: NeueZeile (" ") , Break etc. abfangen Java Basics - Anfänger-Themen 2
B Programm würft Exception, kann sie aber nicht abfangen! Java Basics - Anfänger-Themen 25
M Exceptions bei Textfeldern abfangen Java Basics - Anfänger-Themen 2
M JOptionPane.OK_OPTION abfangen oder disablen? Wie? Java Basics - Anfänger-Themen 3
M jToggleButton Klick abfangen ohne den Button zu deaktivieren Java Basics - Anfänger-Themen 2
B Tastatur abfangen Java Basics - Anfänger-Themen 11
U Pfeiltasten abfangen Java Basics - Anfänger-Themen 2
C Benutzereingaben vor Listener abfangen Java Basics - Anfänger-Themen 5
I InputStream von Konsole abfangen Java Basics - Anfänger-Themen 6
O allgemeine Exceptions abfangen Java Basics - Anfänger-Themen 17
P Auswahl von JComboBox abfangen Java Basics - Anfänger-Themen 3
T jcombobox, item-selektierung abfangen Java Basics - Anfänger-Themen 5
F Fehler beim Schreiben wenn Datei schreibgeschützt abfangen Java Basics - Anfänger-Themen 6
C System.out.println "abfangen"? Java Basics - Anfänger-Themen 8
rambozola selbst definierte exception abfangen funzt nicht Java Basics - Anfänger-Themen 14
S von CommandLine übergebene Parameter abfangen? Java Basics - Anfänger-Themen 12
V Mausklick mit rechter Taste abfangen? Java Basics - Anfänger-Themen 8
C falsche Eingabe abfangen Java Basics - Anfänger-Themen 8
L GUI - Tastaturereignisse abfangen ohne Fokus? Java Basics - Anfänger-Themen 8
D Frage zum abfangen von Exceptions Java Basics - Anfänger-Themen 5
V JOP.showInputDialog Abbrechen Button, Exception abfangen Java Basics - Anfänger-Themen 2
W MouseListener Probleme beim Abfangen Java Basics - Anfänger-Themen 8
F Exception in while-Schleife abfangen? Java Basics - Anfänger-Themen 2
F 2 numberformatexception abfangen? Java Basics - Anfänger-Themen 20
ven000m Exception abfangen Java Basics - Anfänger-Themen 9
H JTabel Selectionen abfangen Java Basics - Anfänger-Themen 2
L Java App + Exception abfangen Java Basics - Anfänger-Themen 2
G Fehler abfangen Java Basics - Anfänger-Themen 2
D Falscheingaben abfangen Java Basics - Anfänger-Themen 8
M Negative Werte abfangen Java Basics - Anfänger-Themen 18
G Abfangen von Falscheingaben Java Basics - Anfänger-Themen 4
C Exception abfangen->Klappt nicht ;( Java Basics - Anfänger-Themen 2
S Division durch null abfangen :freak: Java Basics - Anfänger-Themen 14
EagleEye Exception abfangen Java Basics - Anfänger-Themen 15

Ähnliche Java Themen

Neue Themen


Oben