{"id":2520,"date":"2013-10-31T23:15:07","date_gmt":"2013-10-31T21:15:07","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=2520"},"modified":"2013-10-31T23:15:07","modified_gmt":"2013-10-31T21:15:07","slug":"besonderheit-bei-vererbten-konstruktoren-mit-ausnahmen","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2013\/10\/besonderheit-bei-vererbten-konstruktoren-mit-ausnahmen\/","title":{"rendered":"Besonderheit bei vererbten Konstruktoren mit Ausnahmen"},"content":{"rendered":"<p>Implementiert eine Unterklasse einen eigenen Konstruktor, und ruft dieser super(\u2026) f\u00fcr einen Konstruktor auf, der eine Ausnahme ausl\u00f6st, so muss auch der Konstruktor der Unterklasse diese Ausnahme melden, denn der neue Konstruktor kann die Ausnahme nicht auffangen. In unsere Beispiel w\u00e4re also <\/p>\n<p>public SubRandomAccessFile( File file, String mode ) { <\/p>\n<p> try { <\/p>\n<p>&nbsp; super( file, mode ); <\/p>\n<p> } catch ( Exception e ) { } <\/p>\n<p>} <\/p>\n<p>illegal. Der Grund ist ganz einfach: Wenn der Konstruktor der Oberklasse eine Ausnahme ausl\u00f6st, ist das Objekt nicht vollst\u00e4ndig initialisiert. Und wenn der Konstruktor der Unterklasse dann die Ausnahme abf\u00e4ngt, w\u00fcrde ja die Unterklasse vielleicht nicht vollst\u00e4ndig initialisierte Eigenschaften der Oberklasse erben, also ein halbgares Objekt. Das ist unerw\u00fcnscht.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Implementiert eine Unterklasse einen eigenen Konstruktor, und ruft dieser super(\u2026) f\u00fcr einen Konstruktor auf, der eine Ausnahme ausl\u00f6st, so muss auch der Konstruktor der Unterklasse diese Ausnahme melden, denn der neue Konstruktor kann die Ausnahme nicht auffangen. In unsere Beispiel w\u00e4re also public SubRandomAccessFile( File file, String mode ) { try { &nbsp; super( file, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[11],"tags":[],"class_list":["post-2520","post","type-post","status-publish","format-standard","hentry","category-insel"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2520","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=2520"}],"version-history":[{"count":1,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2520\/revisions"}],"predecessor-version":[{"id":2521,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2520\/revisions\/2521"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=2520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=2520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=2520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}