Exceptions

Status
Nicht offen für weitere Antworten.
D

Destiny1985

Gast
So, da ich mir ja jetzt abgewöhn habe meine Eingaben via IOTools zu machen, bekommen die Exceptions natürlich eine Bedeutung...erklärt wurde es mir ungefähr so hier im Forum, das man die einfach brauch um Fehler, die passieren können, abzufangen...ok, ist ja net schwer zu verstehen. Hab zB jetzt so eine Eingabe

Code:
BufferedReader antw = new BufferedReader (new InputStreamReader(System.in));
    String eingabe = "";
    int antwort = 0;
    System.out.print("\nIhre Antwort: ");
    
    while (antwort < 1 || antwort > 4)
    {
      try
      {
        eingabe = antw.readLine();
        antwort = Integer.parseInt(eingabe);
      }
      catch (IOException e)
      {
        System.out.println("Schwerer Ausnahmefehler");
      }
      catch (NumberFormatException e2)
      {
        System.out.println("Sie muessen eine Zahl eingeben");
      }
      if (antwort < 1 || antwort > 4)
        System.out.print("\nFalscheingabe! Bitte wiederholen! (1-4): ");
    }

try und catch ist das erste was mir eigentlich neu ist...muss man da was besonderes zu wissen ?

dann zu den exceptions an sich. woher weiss man den welche exceptions kommen können und wie die heißen ?
woher weiss ich am beispiel dieses codes das "IOException e" und "NumberFormatException e2" kommen kann und ich die abfangen muss ?!

Eine Erklärung zum Thema exceptions wäre hilfreich :)


mfg

Desti
 

thE_29

Top Contributor
Also das e und e2 sind einfach Variablennamen!

Könntest genausogut mario und josef hinschreiben (statt e und e2)

Und welche Exception geworfen werden findet man in der API und manche IDEs (zB JBuilder) sagt dir sowieso welche und fügt sie gleich ein!

Notfalls machst du ein catch(Exception bla) und dieses fängt dann alle Exceptions ab!
 

mic_checker

Top Contributor
NumberFormatException kann von parseInt() (bzw. andern Parsing Methoden) ausgelöst werden.
Eine IO Exception kann im Generellen beim Umgang mit Streams auftreten. Welche Exceptions ausgelöst werden können, steht in der API. Guck einfach mal nach in der entsp. Klasse , bei den jeweiligen Methoden und guck nach.

Z.B. steht bei readLine():

Throws:
IOException - If an I/O error occurs

In try....catch werden u.a. Anweisungen behandelt die Exceptions auslösen können. Wenn du sie nicht catchst, dann musst du angeben das die Methode die Exception schmeisst (throws).

Aber das ist ein etwas ausführlicheres Thema, da dann noch finally ins Spiel kommt etc. Schau mal z.B. im Javabuch nach oder bei weiteren Fragen, kannst du ja hier posten.
 
D

Destiny1985

Gast
Ich benutze als Editor oder wie man das am besten bezeichnet den "Java Editor 4.16"...den find ich ganz gut...net so überladen, für mich als anfänger als nen gutes teil...guckts euch mal an:

http://www.bildung.hessen.de/abereich/inform/skii/material/java/editor.htm

müsste stimmen der link...

so zu exceptions...versteh nicht das das variablennamen sind...ich nutze so variablen doch gar nicht ?! wieso steht der da ? gibts da eine simple erklärung für ?

und wann wird dann welche exception aufgerufen. woher weiss java das bei so einem fehler die kommt, bei einem anderen die andere...also das kapier ich nicht !

wo in der api find ich das ? hab vor ner stunde zum ersten mal ne api gesehen ;)
 
D

Destiny1985

Gast
Stefan1200 hat gesagt.:
Oder halt ins JavaBuch, falls du das noch nicht runtergeladen hast, hier kannst du das Kapitel über Exceptions online lesen:

http://lisrv.rrz.uni-hamburg.de/java/hjp/html/k100075.html#kapitelexceptions

Der Link sieht das gut aus...wobei ich erstmal in meinem Buch suche, ob ich da nicht Rat finde...

Das Java ist auch eine Insel finde ich sehr kompliziert .. also sehe ich nicht als geeignet an für Anfänger...komme damit auch nicht zurecht !
 

mic_checker

Top Contributor
Schau dir mal an z.B.

http://java.sun.com/j2se/1.3/docs/api/java/io/BufferedReader.html#readLine()

Da steht:

Returns:
A String containing the contents of the line, not including any line-termination characters, or null if the end of the stream has been reached
Throws:
IOException - If an I/O error occurs

Java weiss welcher Fehler von welcher Methode ausgelöst wird, weil best. Methoden selber "definieren": Achtung, es wäre möglich das bei meiner Abhandlung die und die Exception ausgelöst wird.

So steht z.B. in BufferedReader.java:

Code:
String readLine(boolean ignoreLF) throws IOException {

Damit teilt die Methode mit das eine IOException ausgelöst werden kann...

Schau dir mal die geposteten Links an.
 

Stefan1200

Top Contributor
Nochmal kurz:

Code:
try
{
    // Hier mache ich irgendwas
}
catch (NumberFormatException e)
{
    e.printStackTrace();
}

In dem try Block stehen die Dinge drin, die das Programm normalerweise ausführt. Sollte nun ein Fehler auftreten, sprich eine im try Bereich verwendete Methode wirft eine Exception zurück, würde nun folgendes passieren:

Beispiel: NumberFormatException
Das abarbeiten im try block wird bei der Methode abgebrochen, bei der der Fehler aufgetreten ist.
In diesem Moment springt das Programm in den Block:
catch (NumberFormatException e)
Alles was nun hier drin steht, wird abgearbeitet.

Das Wort "NumberFormatException" ist dafür da, damit catch halt weiß, für welche Exception dieser Block ist. Andere Exceptions würden nicht in diesem Block reinkommen.

"e" ist in diesem Fall einfach nur eine Instanz zu dieser Exception. Gerade beim Debuggen der Fehler, damit sich das Programm bei anderen Leuten auch richtig verhält, kannst du nun mit e.printStackTrace() genauere Informationen erhalten, warum den dieser Fehler aufgetreten ist, und viel wichtiger: Wo.

Und in meinem Codebeispiel siehst du ja schon, das es möglich ist, für jede Exception eigene catch Blöcke zu schreiben.

Ich hoffe es ist etwas klarer geworden.
Ich finde das Exceptions im Java Buch (mein Link weiter oben) sehr gut erklärt sind.
 
D

Destiny1985

Gast
Danke stefan,

die exceptions im javabuch sind wirklich gut erklärt, gucke ich mir gerade an !
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Exceptions mit try-catch-Surrounding - Probleme Java Basics - Anfänger-Themen 6
M Test auf Exceptions schreiben Java Basics - Anfänger-Themen 11
berserkerdq2 Habe zwei exceptions, welche ist ein Kommunikationsfehler und welche ein Ausgabefehler? Java Basics - Anfänger-Themen 4
julian112 Input/Output .gz bzw. .txt Datei Einlesen und Umgang mit Exceptions Java Basics - Anfänger-Themen 1
C Exceptions identifizieren Java Basics - Anfänger-Themen 5
A Exceptions mit objektreferenzen Java Basics - Anfänger-Themen 4
A Exceptions und methods Java Basics - Anfänger-Themen 2
A Cannot find symbol bei exceptions Java Basics - Anfänger-Themen 2
A Exceptions und Packages Java Basics - Anfänger-Themen 6
B JUnit / Exceptions/ try-catch Java Basics - Anfänger-Themen 6
X Exceptions Benutzereingaben Java Basics - Anfänger-Themen 4
F Exceptions in Interfaces Java Basics - Anfänger-Themen 4
F Mehrere Exceptions in einem Catch-Block abfangen Java Basics - Anfänger-Themen 12
L Exceptions und Konten Java Basics - Anfänger-Themen 21
D Frage zu Exceptions Java Basics - Anfänger-Themen 8
G Wie programmiert man Exceptions? Java Basics - Anfänger-Themen 4
N Unterschied zwischen Checked und Unchecked Exceptions Java Basics - Anfänger-Themen 12
C Erste Schritte Exceptions nicht verstanden Java Basics - Anfänger-Themen 2
J Fragen zu Exceptions Java Basics - Anfänger-Themen 24
T Exceptions - ausgeführte Zeilen Java Basics - Anfänger-Themen 4
J Exceptions Java Basics - Anfänger-Themen 69
C Exceptions Java Basics - Anfänger-Themen 8
C Exceptions Java Basics - Anfänger-Themen 6
A ArrayQueue mit Exceptions und Vererbung Java Basics - Anfänger-Themen 3
F Exceptions Java Basics - Anfänger-Themen 6
J Frage zum Thema Exceptions (Try/Catch) Java Basics - Anfänger-Themen 3
M "Exceptions abfragen" Java Basics - Anfänger-Themen 6
Farbenfroh Exceptions Anfänger - Finde Fehler nicht Java Basics - Anfänger-Themen 7
Z Catch & Exceptions Java Basics - Anfänger-Themen 4
N Compiler-Fehler Drei Exceptions in GUIHack für Dreiecke auf MoveButtons Java Basics - Anfänger-Themen 36
V Welche Exceptions müssen importiert werden? Java Basics - Anfänger-Themen 3
S Exceptions Java Basics - Anfänger-Themen 7
M Vererbung Problem Vererbung/Exceptions Java Basics - Anfänger-Themen 9
S Verschachtelte Exceptions - Übersicht verbessern Java Basics - Anfänger-Themen 2
J Eclipse Exceptions Java Basics - Anfänger-Themen 2
K Schleifen und Exceptions Java Basics - Anfänger-Themen 8
K Exceptions auslagern Java Basics - Anfänger-Themen 15
R NullPointer Exceptions Java Basics - Anfänger-Themen 3
F Erste Schritte Übung zu Exceptions Java Basics - Anfänger-Themen 24
R Exceptions (try/catch) Java Basics - Anfänger-Themen 63
H Int Exceptions Java Basics - Anfänger-Themen 12
M Exceptions per throws oder try Java Basics - Anfänger-Themen 4
M Compiler-Fehler Queue als ArrayList mit Exceptions Java Basics - Anfänger-Themen 3
T Exceptions in einer Klasse Java Basics - Anfänger-Themen 3
B Eigene Exceptions entwerfen Java Basics - Anfänger-Themen 3
H Methoden Überflüssige Exceptions Java Basics - Anfänger-Themen 20
C Exceptions Java Basics - Anfänger-Themen 14
1 While Schleife Exceptions Java Basics - Anfänger-Themen 6
I Erste Schritte Eigene Fehlermeldungen bei Exceptions Java Basics - Anfänger-Themen 19
D Frage zu Exceptions Java Basics - Anfänger-Themen 12
M Compiler-Fehler Exceptions lieber throwen oder direkt catchen? Java Basics - Anfänger-Themen 8
T Exceptions Java Basics - Anfänger-Themen 19
B Wie finde ich Exceptions? Java Basics - Anfänger-Themen 19
Dit_ Input/Output Alle Exceptions protokollieren Java Basics - Anfänger-Themen 9
T Exceptions Java Basics - Anfänger-Themen 12
J Standard Exceptions abfangen Java Basics - Anfänger-Themen 5
F Exceptions werfen oder catchen?? Java Basics - Anfänger-Themen 14
D Exceptions - Ausnahmebehandlung Java Basics - Anfänger-Themen 19
D Frage zu Exceptions und der import Anweisung Java Basics - Anfänger-Themen 12
J Paar Fragen zu Exceptions Java Basics - Anfänger-Themen 16
G Verständnisproblem: Exceptions Java Basics - Anfänger-Themen 17
S Exceptions bei push/pop in Stack Java Basics - Anfänger-Themen 8
C Exceptions beim Beenden Java Basics - Anfänger-Themen 2
C TimerTask und Exceptions Java Basics - Anfänger-Themen 5
E Klasse öffnen, mehrere Exceptions Java Basics - Anfänger-Themen 9
C Exceptions Java Basics - Anfänger-Themen 7
G 2 Exceptions in einer Methode Java Basics - Anfänger-Themen 3
firefexx Exceptions werfen Java Basics - Anfänger-Themen 5
0 Exceptions mehrfach fangbar? Java Basics - Anfänger-Themen 4
O Exceptions Java Basics - Anfänger-Themen 3
K Sinn eigener Exceptions Java Basics - Anfänger-Themen 11
H Diverse Exceptions - Troubleshooting Java Basics - Anfänger-Themen 3
J exceptions Java Basics - Anfänger-Themen 8
sc0p InterruptedExceptions und Exceptions - in Einem! Java Basics - Anfänger-Themen 5
M Frage zu Exceptions Java Basics - Anfänger-Themen 19
M Fragen zu Exceptions Java Basics - Anfänger-Themen 3
A Exception Verständnisfrage: Exceptions während, einer Statischenzuweisung abfangen Java Basics - Anfänger-Themen 10
D Exceptions werfen + beenden Java Basics - Anfänger-Themen 12
M Exceptions aus interface-Methoden Java Basics - Anfänger-Themen 2
S File.renameTo und Exceptions / Fehlermeldung Java Basics - Anfänger-Themen 2
B Exceptions in Liste sammeln? Java Basics - Anfänger-Themen 5
O Eigene Exceptions Java Basics - Anfänger-Themen 11
O "restliche" Exceptions fangen Java Basics - Anfänger-Themen 8
H [Stil] Exceptions in der Klasse behandeln oder throwen? Java Basics - Anfänger-Themen 62
T Problem beim Werfen und Fangen von Exceptions Java Basics - Anfänger-Themen 2
V Aktivitätsdiagramm / Exceptions Java Basics - Anfänger-Themen 5
V Exceptions Java Basics - Anfänger-Themen 6
K Frage zu Exceptions -> Logging Java Basics - Anfänger-Themen 6
M Eigene Fehlermeldung bei Exceptions? Java Basics - Anfänger-Themen 12
R JDom Exceptions Java Basics - Anfänger-Themen 4
R Datei einlesen mit Exceptions Java Basics - Anfänger-Themen 2
Daniel_L Verwendung von try und catch bei exceptions Java Basics - Anfänger-Themen 7
C Reflection Exceptions behandeln Java Basics - Anfänger-Themen 6
G Exceptions - spiegeln wir da nicht einen Spiegel im Spiegel? Java Basics - Anfänger-Themen 10
G Verschiedene Exceptions zu gleichem Block Java Basics - Anfänger-Themen 6
U Frage zu Exceptions Java Basics - Anfänger-Themen 5
mwildam Philosophiefrage zu Exceptions und Rückgabewerten Java Basics - Anfänger-Themen 6
D Static, final Objekte mit Exceptions im Konstruktor Java Basics - Anfänger-Themen 2
G Exceptions Java Basics - Anfänger-Themen 4
G ServerSocket: Exceptions und Timeout Probleme Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben