Seite 1 von 1
SS07 Aufgabe 2 Exception
Verfasst: 31. Aug 2008 17:00
von sportygirl
meine Lösung für 2a lautet:
(i) "abc" "Exception A"
(ii) "abc" "xyz"
(iii) "Exception A" -> nur eine ausgabe, da wenn exception geworfen wird try nicht weiter ausgrführt wird.
wollt nur fragen ob das stimmt, da mehtode g eigendlich eine ExcB wirft. aber wenn ich es richtig verstanden habe spring man vom try block in den catch block und da wird ExcA aufgerufen.
grüße Tanja
Re: SS07 Aufgabe 2 Exception
Verfasst: 31. Aug 2008 22:31
von zwieback-dude
Hi,
bei der a) habe ich:
i)abc
Exception B
ii) abc
xyz
iii) Exception A
Hmm bei i) habe ich Exception B, weil ich gedacht hab, dass eine Exception B gefangen werden kann, da sie die Exception A erweitert.
Bei b) habe ich gar keine Ausgabe, da von f keine Exception gefangen werden kann.
Kann das jemand bestätigen?
Grüße,
zwieback-dude
Re: SS07 Aufgabe 2 Exception
Verfasst: 31. Aug 2008 23:01
von Bjoern
Meine Lösungen für die a:
i) abc Exception B
ii) abc xyz
iii) Exception A
Tanja, deine Begründungen sind korrekt, nur bei der (i) ist die Methode durch die aus ExcB überschrieben (dynamischer Typ)
Was die b) angeht: es gibt einen Fehler beim Kompilieren, da wie Zwieback schon gesagt hat, eine ExcA nicht gefangen wird.
Gruß,
Björn
Re: SS07 Aufgabe 2 Exception
Verfasst: 3. Sep 2008 17:46
von K.I.T.T.
aber bei der c) kommt doch auch noch xyz denn g(-1) geht doch.
wenn es catch (ExcB e) heißen würde, dann könnt der block aber keine ExcA fangen oder
Re: SS07 Aufgabe 2 Exception
Verfasst: 3. Sep 2008 17:50
von Bjoern
bei der c: g(-1) wird gar nicht mehr ausgeführt, d.h. sobald die Exception geworfen wird, wird der try-Block verlassen und der entsprechende catch-Block ausgeführt.
Nein, könnte er nicht.