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.