hallo,
kann jemand konkret mir sagen , wann eine Eception stattgefangen, weitergereicht werden kann??
Was sind eigentlicht Runtime Eception..??
Eine andere Frage....wenn ich z.B als Objekt combs vom Typ Hashmap. wenn ich das mit dem iterator durchlaufen möchte..als z.B Iterator<string, int> it = combs.iterator ; it.hasNext :
was ist der Typ von "it" danach??....kann ich z.B irgendwo schreiben if(it.next().getGröße() <100) oder if(it.next().getname()<name)..??
ich freue mich auf eine Antwort
gruß, combs.
Kontrollfragen
Re: Kontrollfragen
Hallo,
Quelle
Eine Runtime Exception muss nicht, kann aber glaub ich, gefangen werden. Du musst auch nicht bei einer Methode ankündigen das eine solche Exception geworfen werden kann.
Mehr zum iterieren über HashMaps gibt es hier oder bei google.
Grüße, Johannes
Wenn du für die Methode bei der eine Exception auftreten kann angibst dass dort eine Exception geworfen werden kann. Die aufrufende Methode muss dann selbst die Exception weitergeben oder einen try, catch Block verwenden. Ansonsten bekommst du vom Compiler eine Fehlermeldung dass eine mögliche Exception nicht gehandhabt wird.combs hat geschrieben: kann jemand konkret mir sagen , wann eine Eception stattgefangen, weitergereicht werden kann??
Code: Alles auswählen
[Modifikator] Typ Methode() throws Exception
{
// Anweisungen
}
Das ist eine Exception die auftritt wenn du irgendwas ausführst was keinen Sinn ergibt, wenn du z.B. das -1 te Element von einem Array benutzen möchtest wird diese Exception glaub ich geworfen.combs hat geschrieben: Was sind eigentlicht Runtime Eception..??
Eine Runtime Exception muss nicht, kann aber glaub ich, gefangen werden. Du musst auch nicht bei einer Methode ankündigen das eine solche Exception geworfen werden kann.
Du deklarierst it ja als Iterator. it.next() sollte dir dann ein Objekt vom Datentyp <string, int> zurückgeben. Wenn du dir in der Java API die Klasse HashMap anschaust siehst du dass sie nicht das Interace Iterable implementiert, also nehme ich an dass es nicht möglich ist direkt über eine HashMap zu iterieren. Jedoch gibt es zwei Methoden die dir jeweils ein Set zurückgeben und das Interface Set implementiert Iterable.combs hat geschrieben: Eine andere Frage....wenn ich z.B als Objekt combs vom Typ Hashmap. wenn ich das mit dem iterator durchlaufen möchte..als z.B Iterator<string, int> it = combs.iterator ; it.hasNext :
was ist der Typ von "it" danach??....kann ich z.B irgendwo schreiben if(it.next().getGröße() <100) oder if(it.next().getname()<name)..??
Mehr zum iterieren über HashMaps gibt es hier oder bei google.
Grüße, Johannes
Zuletzt geändert von Owyn am 6. Sep 2012 19:25, insgesamt 1-mal geändert.
Grund: ...
Grund: ...
FC SEEMOO No.1
Re: Kontrollfragen
Allgemein bedeutet "Runtime" einfach, dass etwas erst während des Programmflusses geschieht. So wie Runtime Error Fehler sind, die nicht vom Compiler erkannt wurden, sondern erst zur Laufzeit entstanden sind (z.B. Variable durch die ständig geteilt wird und während der Laufzeit irgendwann den Wert 0 erhält.)
Re: Kontrollfragen
Exceptions treten immer zur Laufzeit auf! Eine runtime exception ist eigentlich eine so genannte unchecked exception, im Unterschied zur checked exception, siehe: http://docs.oracle.com/javase/tutorial/ ... ntime.html. Also es ist so wie mmec sagt, die unchecked exceptions müssen bei einer Methodendefinition nicht angekündigt werden (dass sie auftreten können).
Mit freundlichen Grüßen
Daniel
Daniel
Re: Kontrollfragen
Stimmt! Wieder etwas gelernt, danke.