Um eine Pluginschittstelle abzusichern, moechte ich eigendlich alle
Zugriffe auf implementierte Methoden mit einem catch-all umgeben.
Frage: Hat das irgendwelche Einfluesse auf die Performance? Die meisten
der Methoden sind dabei uebrigens durchaus inline-faehig.
Christoph
Solange keine Exception geworfen wird, ist der Einfluss
genau null. Erst das Erzeugen einer Exception geht dann
auf die Performance.
Gruesse, Lothar
--
Lothar Kimmeringer E-Mail: spam...@kimmeringer.de
PGP-encrypted mails preferred (Key-ID: 0x8BC3CD81)
Always remember: The answer is forty-two, there can only be wrong
questions!
So soll das sein.
Gruss, Christoph
ich vermute hinter der Frage einen Denkfehler. Du denkst es gäbe
Methoden die keine Exception werfen können. In Java kann _jede_ Methode
eine Exception werfen, z.B. RuntimExceptions oder Errors. D.h. beim
Aufruf einer Methode findet _immer_ eine Überprüfung auf eine geworfenen
Exception statt. Natürlich werden - wenn keine Exception vorliegt - die
ganzen catch-Blöcke übersprungen, und daher gibt es auch keinen
Performanceverlust wie Lothar schon schrieb.
> In Java kann _jede_ Methode
> eine Exception werfen, z.B. RuntimExceptions oder Errors. D.h. beim
> Aufruf einer Methode findet _immer_ eine Überprüfung auf eine geworfenen
> Exception statt.
Es ist genau anders herum. Wenn eine Exception geworfen, wird
ueberprueft, ob dies innerhalb eines catch-Block passierte.
Ist das nicht der Fall, wird die gleiche Ueberpruefung in
der aufrufenden Methode vorgenommen, usw. bis man "ganz
oben" ankommt und man bekannten Stacktrace auf der Konsole
praesentiert bekommt und die Applikation beendet wird.
Tja, wieder was gelernt.