Ausnahmen, Exceptions
Hallo zusammen,
ich schaue mir gerade noch mal das Zusatzmaterial zu den Exceptions an hab es an sich verstanden alles, dacht ich.
Nur leider steh ich bei Seite 2 etwas auf dem Schlauch, was die Ausgabe des Quelltextes oben betrifft... Laut BlueJ erscheint folgendes:
MyException: Something strange happend
MyException: Something went wrong
Something strange happend
Something went wrong
Die letzten beiden versteh ich ja, aber wie kommen die ersten beiden Ausgaben zustande?
Und noch eine kleine andere Frage zu diesem Thema: Hab ich das richtig verstanden, dass, wenn im finally-Block ein return oder eine throw-Anweisung steht, dass alle anderen vorher aufgetretenen Ausnahmen und returns ignoriert werden?!? Das Beispiel ist mir etwas unklar irgendwie :confused: (Seite 5 unten)
Schöne Grüße,
ela
Comments
Heath
Contributions on this page: 1
View profiledie Ausgaben der ersten beiden Zeilen kommen durch die folgenden Zeilen zustande:
System.out.println(e);
System.out.println(e2);
Auch wenn du es nicht so geschrieben hast, nehme ich mal an, dass es dich verwundert, dass da vorne dran MyException steht. Der Unterschied zwischen e und e.getMessage() ist der, dass bei ersterem das komplette Objekt inklusive Nachricht abgefragt wird. Beim zweiten Fall wird nur die Nachricht ohne das Objekt abgefragt.
Zu deiner zweiten Frage: Ja, das hast du richtig verstanden. Die Ausnahme "foo-catch" wird nie ausgegeben, da noch ein return -2 im finally-Block folgt.
ela-online
Contributions on this page: 2
View profileJa, genau das mit dem MyException vorne hatte mich bei der Ausgabe gewundert. Aber danke für die Erklärung! Und das andere habe ich dann ja auch richtig verstanden...
Lg Ela