Kontrollfragen

combs
Neuling
Neuling
Beiträge: 6
Registriert: 28. Aug 2012 13:00

Kontrollfragen

Beitrag von combs » 4. Sep 2012 22:48

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.

Benutzeravatar
mmec
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 203
Registriert: 7. Sep 2011 17:59
Wohnort: Darmstadt

Re: Kontrollfragen

Beitrag von mmec » 5. Sep 2012 10:24

Hallo,
combs hat geschrieben: kann jemand konkret mir sagen , wann eine Eception stattgefangen, weitergereicht werden kann??
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.

Code: Alles auswählen

[Modifikator] Typ Methode() throws Exception
{
  // Anweisungen
}
Quelle
combs hat geschrieben: Was sind eigentlicht Runtime Eception..??
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.
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.
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)..??
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.
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: ...
FC SEEMOO No.1

snoo
Erstie
Erstie
Beiträge: 18
Registriert: 18. Jun 2012 20:58

Re: Kontrollfragen

Beitrag von snoo » 5. Sep 2012 13:47

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

Daniel S.
Mausschubser
Mausschubser
Beiträge: 87
Registriert: 25. Sep 2007 12:28
Wohnort: Mörfelden

Re: Kontrollfragen

Beitrag von Daniel S. » 5. Sep 2012 18:49

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

snoo
Erstie
Erstie
Beiträge: 18
Registriert: 18. Jun 2012 20:58

Re: Kontrollfragen

Beitrag von snoo » 5. Sep 2012 22:50

Stimmt! Wieder etwas gelernt, danke.

Antworten

Zurück zu „Archiv“