Try/catch

Br4ve

Bekanntes Mitglied
Hallo,
Ich habe in der Uni try/catch kennengelernt und ein einfaches Beispiel dort gemacht was auch so weit lief. zuhause importiert in mein Eclipse wird nun eine InputMismatchException angezeigt!?
Hier der Code:
Java:
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Calendar;
import java.util.InputMismatchException;
import java.util.Scanner;


public class Ausnahmen {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scan = new Scanner(System.in);
        
        System.out.println("Geben sie eine Ganzzahl ein");
        int eingabe = 0;
        try {
            eingabe = scan.nextInt();
        } catch (InputMismatchException e) {
            System.out.println("Depp!");
           
        }
        System.out.println("Geben sie noch eine Ganzzahl ein");
        int eingabe2 = scan.nextInt();
       
        try {
            
        System.out.println(eingabe / eingabe2);
        } catch (ArithmeticException e) {
            System.out.println("DU DEPP!");
        }
        
        Calendar cal = Calendar.getInstance();
        System.out.println(cal.getTime());
        Date date = new Date();
        System.out.println(date);
        DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
        System.out.println(df.format(date));
        
        
    }

}
Das unten drunter tut eig nix zur Sache habe ich nur vollständigkeitshalber mit reingenommen. Ich gebe hier beispielsweise bei der ersten Eingabe n Buchstabe ein, jez kommt auch meine catch anweisung allerdings dann auch nochmal:
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at Ausnahmen.main(Ausnahmen.java:25)
 

drAb17

Mitglied
nextInt

public int nextInt()

Scans the next token of the input as an int.

An invocation of this method of the form nextInt() behaves in exactly the same way as the invocation nextInt(radix), where radix is the default radix of this scanner.

Returns:
the int scanned from the input
Throws:
InputMismatchException - if the next token does not match the Integer regular expression, or is out of range
NoSuchElementException - if input is exhausted
IllegalStateException - if this scanner is closed



desshalb muss Zeile 24 auch innerhalb des try Blockes, welcher bei Zeile 26 beginnt
 
Zuletzt bearbeitet:

Michael...

Top Contributor
Du solltest darauf achten, dass die in der Fehlermeldung referenziere Codezeile mit dem hier geposteten Code übereinstimmt.
Vermutlich ist die Zeile 25 des Originalcodes hier die Zeile 24.
Das erste scan.nextInt(); schlägt aufgrund der Falscheingabe fehl --> der Code läuft in den catch Block und läuft danach weiter. Da der erste Einleseversuch nicht abgeschlossen wurde wird beim nächsten scan.nextInt(); in Zeile 24 versucht direkt einzulesen. Hier wird eine mögliche Fehleingabe nicht abgefangen --> Exception
 

drAb17

Mitglied
Java:
public class Ausnahmen {


	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);

		System.out.println("Geben sie eine Ganzzahl ein");
		int eingabe = 0;

		try {
			eingabe = scan.nextInt();
		} catch (InputMismatchException e) {
			System.out.println("Falscher Datentyp!");
		}

		System.out.println("Geben sie noch eine Ganzzahl ein");
		int eingabe2 = 0; 

		try {
			eingabe2 = scan.nextInt();
			System.out.println(eingabe / eingabe2);
		} catch (InputMismatchException e) {
			System.out.println("Falscher Datentyp!");
		} catch (ArithmeticException e) {
			System.out.println("DEPP");			
		}


		scan.close();
	}
}



edit: danke an Der Müde Joe :)
 
Zuletzt bearbeitet:

Br4ve

Bekanntes Mitglied
Ok das konnte ich beheben jez bin ich allerdings auf einen neuen Fehler gestoßen:
Java:
      // Menü
        boolean beenden = false;
        
        while (!beenden) {
            menuAnzeigen();
            
            
            try {
                int eingabe = scanner.nextInt();
            
                switch (eingabe) {
            case 1:
                Dokumente.dokumenteAnzeigen();
                break;
            case 2:
                boolean erfolg = false;
                erfolg = Dokumente.dokumentAnlegen();
                System.out.print("Erfolgreich angelegt: ");
                System.out.println(erfolg);
                break;
            case 3:
                System.out.print("Bitte geben sie den Namen des zu löschenden"
                    + " Dokuments an: ");
                String antwort = scanner.next();
                int id = Dokumente.gibDokId(antwort);
                Dokumente.dokumentLoeschen(id);
                break;
            case 4:
                System.out.print("Wirklich beenden? 'ja [1]'/'nein [0]' ");
                beenden =  EingabeKontrollen.jaNeinEingabe();
                break;
            default :
                System.out.println("Falsche Eingabe.");
                break;
                }
            } catch (InputMismatchException e) {
                System.out.println("DEPP!");
            }
        }

    }

}
Mein Problem ist, dass sich das immer wiederholt, wenn ich hier beispielsweise wieder einen Buchstaben eintippe kommt jedesmal meine catch-Anweisung und dann erneut das menü inner console was sich dann ewig wiederholt und nich terminiert =(
 

Br4ve

Bekanntes Mitglied
ah ok danke funktioniert und wenn ich menuAnzeigen() noch in die catch anweisung mit rein nehme dann kann man problemlos weiterarbeiten. super danke!
edit: aber mist dann hab ich ja garkeine eingabe, dann zeigt er das blos an hmm...
 

Br4ve

Bekanntes Mitglied
Gibt es da ne Möglichkeit das sich das Menü weiter aufruft und man quasi das nochmal von neuem eingeben kann?nach der catch anweisung sozusagen wieder ne eingabe kommt?
 

Br4ve

Bekanntes Mitglied
aber wenn ich das in der catch anweisung auf true setze dann ja nicht oder? Was ja Bedingung dafür ist dass das überhaupt terminiert...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T catch(InputMismatchException) wird nicht ausgefürt/erkannt Java Basics - Anfänger-Themen 12
missy72 Catch Blöcke zusammenfassen Java Basics - Anfänger-Themen 6
Ostkreuz wie geht der catch? Java Basics - Anfänger-Themen 3
D try/catch-Block bei for-Schleife Java Basics - Anfänger-Themen 14
D Best Practice Ausgabe über direkte Ausgabe oder try-catch? Java Basics - Anfänger-Themen 13
districon Try - Catch Java Basics - Anfänger-Themen 8
JavaNoobi Try and Catch und übergabe von Objekten Java Basics - Anfänger-Themen 2
Y Wie kann ich die Variable in der Try Catch returnen? Java Basics - Anfänger-Themen 3
B Try-Catch Block Java Basics - Anfänger-Themen 3
B JUnit / Exceptions/ try-catch Java Basics - Anfänger-Themen 6
B try catch finally Java Basics - Anfänger-Themen 2
F Mehrere Exceptions in einem Catch-Block abfangen Java Basics - Anfänger-Themen 12
H throws und try catch Java Basics - Anfänger-Themen 8
H Try Catch Throw Exception Java Basics - Anfänger-Themen 1
S Try-Catch in Verwendung einer while Schleife Java Basics - Anfänger-Themen 2
I Try-Catch innerhalb eines Catchblocks Java Basics - Anfänger-Themen 1
J Endlosschleife bei Try-Catch? Java Basics - Anfänger-Themen 3
K JOptionPane/catch/try/finally/if Java Basics - Anfänger-Themen 9
V InputMismatchException (Try and catch) Java Basics - Anfänger-Themen 10
L do-while-Schleife läuft doppelt, try catch fehler Java Basics - Anfänger-Themen 12
J Erste Schritte catch Exeption Parameter Java Basics - Anfänger-Themen 7
TheMenox Try and Catch Java Basics - Anfänger-Themen 12
J Try Catch Java Basics - Anfänger-Themen 6
DeVolt Java8 Paket Time: Datum prüfen / try-catch Java Basics - Anfänger-Themen 1
J Code in Try-Catch Block wird nicht komplett ausgeführt Java Basics - Anfänger-Themen 5
J Frage zum Thema Exceptions (Try/Catch) Java Basics - Anfänger-Themen 3
A Nicht zu findender Fehler in einem try/catch Block Java Basics - Anfänger-Themen 6
F try/catch Ausführungen ? Java Basics - Anfänger-Themen 3
S try-catch - Variablen werden nicht an return übergeben Java Basics - Anfänger-Themen 3
Z Catch & Exceptions Java Basics - Anfänger-Themen 4
I Exception try-catch Java Basics - Anfänger-Themen 1
E Buchstaben verhindern / Try & Catch Block Java Basics - Anfänger-Themen 3
F try/catch - (else) Java Basics - Anfänger-Themen 11
L Warum ist der catch-Block nicht erreichbar ? Java Basics - Anfänger-Themen 8
C Problem mit try-catch in Schleife Java Basics - Anfänger-Themen 15
R Exceptions (try/catch) Java Basics - Anfänger-Themen 63
H Geht dieser Code noch einfacher (try catch finally) Java Basics - Anfänger-Themen 7
J Methoden try / catch exception Java Basics - Anfänger-Themen 5
S 'continue' in catch- und if-blöcken Java Basics - Anfänger-Themen 2
B Erste Schritte try-catch-Klauseln, überprüfte Ausnahmen Java Basics - Anfänger-Themen 4
D Erste Schritte Warum try-catch für FileWriter Java Basics - Anfänger-Themen 5
S try-catch-finally-Problem Java Basics - Anfänger-Themen 10
xehpuk Compiler-Fehler final Variable in try-catch Wert zuweisen Java Basics - Anfänger-Themen 8
F Exceptionbehandlung --> catch/throws Java Basics - Anfänger-Themen 11
M Try und Catch Java Basics - Anfänger-Themen 5
B Fehler mit try + catch verhindern Java Basics - Anfänger-Themen 8
N Catch Block in Try erzwingen Java Basics - Anfänger-Themen 14
E Problem mit for schleife/ try-catch block Java Basics - Anfänger-Themen 7
B Variablen Variablen in try / catch "public" machen? Java Basics - Anfänger-Themen 3
C Wiederholung von try-catch Java Basics - Anfänger-Themen 3
N try and catch block in finally Java Basics - Anfänger-Themen 8
M exception catch falsch? Java Basics - Anfänger-Themen 11
S catch Exception erklären Java Basics - Anfänger-Themen 2
C Variable in try/catch Java Basics - Anfänger-Themen 10
B Try and Catch Java Basics - Anfänger-Themen 6
StrikeTom Ein paar(2) Fragen zu throws und try + catch Java Basics - Anfänger-Themen 6
J try und catch Java Basics - Anfänger-Themen 7
G Exceptionfreie Anweisungen in try-catch-Blöcke, Java Basics - Anfänger-Themen 6
B Exception vor catch Block definieren Java Basics - Anfänger-Themen 9
M Frage zu try ... catch Java Basics - Anfänger-Themen 9
S NumberFormatException , mit Try/Catch? Java Basics - Anfänger-Themen 7
M Try & Catch Java Basics - Anfänger-Themen 7
V Was ist ein Try-Catch Block Java Basics - Anfänger-Themen 4
M Nach catch mit der schleife weitermachen Java Basics - Anfänger-Themen 9
M try-catch, call-by-reference, Streaming und Strings Java Basics - Anfänger-Themen 10
S sauberer Stil von return Wert (try, catch, finally) Java Basics - Anfänger-Themen 9
S try-catch Java Basics - Anfänger-Themen 10
Tandibur Server führt "try-catch" nicht aus Java Basics - Anfänger-Themen 6
H Falsche Eingabe über try-catch abfangen Java Basics - Anfänger-Themen 2
I Frage zu Try - Catch - Finally Java Basics - Anfänger-Themen 10
Daniel_L Verwendung von try und catch bei exceptions Java Basics - Anfänger-Themen 7
GambaJo Wann try.catch nutzen? Java Basics - Anfänger-Themen 11
H try catch Java Basics - Anfänger-Themen 4
I double-Variable außerhalb des Try-Catch-Blocks nicht gültig Java Basics - Anfänger-Themen 2
D Catch wiederholt sich ständig Java Basics - Anfänger-Themen 2
T try-catch-finally Java Basics - Anfänger-Themen 8
G Anwendung von try-catch Java Basics - Anfänger-Themen 10
G try. catch Verwendung Java Basics - Anfänger-Themen 11
M Try-Catch-Problem Java Basics - Anfänger-Themen 4
G habe ein Catch problem Java Basics - Anfänger-Themen 7
C Nach Catch-Klausel Programm weiter laufen lassen Java Basics - Anfänger-Themen 5
B try & catch Problem mit Exception bzw String.split() Java Basics - Anfänger-Themen 5
C Frage zu try - catch (saubere Lösung?) Java Basics - Anfänger-Themen 3
G Bei catch beenden Java Basics - Anfänger-Themen 7
U catch mit finally Java Basics - Anfänger-Themen 5
C Exceptions, try, catch --> Frage Java Basics - Anfänger-Themen 7
J Try-Catch-Frage Java Basics - Anfänger-Themen 13
B catch exception funktioniert nicht! Java Basics - Anfänger-Themen 14
D Frage try and catch Java Basics - Anfänger-Themen 7
ven000m try catch - was muss bei catch rein Java Basics - Anfänger-Themen 28
G Datenbank - catch Java Basics - Anfänger-Themen 2
H Konstruktor in Methode fremder Klasse: try-catch-Problem Java Basics - Anfänger-Themen 4
M return und try-catch Java Basics - Anfänger-Themen 6
M Try . catch erzwungen? Java Basics - Anfänger-Themen 11
F eigene Exception aus try-catch werfen Java Basics - Anfänger-Themen 10
A Syntaxproblem mit try und catch Java Basics - Anfänger-Themen 3
Silver-Blue fragen zu Swing und catch Exceptions Java Basics - Anfänger-Themen 2
G return fehler bei try catch Java Basics - Anfänger-Themen 8
H try und catch Java Basics - Anfänger-Themen 6
A try catch UNREACHABLE CODE Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben