Am 05.01.2017 um 09:32 schrieb Ronge, Matthias:
Die Vermeidung von Exceptions im regulären Programmablauf ist aus vielerlei Gründen anzustreben. Einer ist, dass ihre Verarbeitung vom Compiler bzw. JIT vergleichsweise schlecht optimiert wird, was ja auch logisch erscheint: Wenn das Kind bereits in den Brunnen gefallen ist (z.B. kein Arbeitsspeicher mehr frei) sollte man nicht mehr unnötig herumspielen (was möglicherweise zusätzlich Speicher allokiert), das macht die Sache tendenziell eher schlimmer.

Es macht auch keinen Sinn, wenn eine Anwendung im regulären Betrieb 200 Exceptions in der Minute loggt; mit dem Logfile kann man auch keine Fehlerdiagnose mehr durchführen, weil man die wahren Probleme dann darin auch nicht mehr findet. Ein anderer Grund ist, dass es in Eclipse (in anderen IDEs wahrscheinlich ebenfalls) einen Schalter gibt, dass die Anwendung bei jeder auftretenden Exception anhält. Auch das kann man nicht mehr nutzen, wenn Exceptions im Regelbetrieb andauernd geworfen werden.


Liebe Mitentwickler,

nur zur Klarstellung: auch ich sehe das so, dass Exceptions für den regulären
Programmablauf vermieden werden sollten. Folgendes hatte ich angemerkt:

Die Protokollierungspflicht sollte präzisiert werden: es gibt heute schon Code,
bei dem Exceptions Teil des normalen Programmablaufs sind. Da wäre eine
Protokollierung kontraproduktiv, da sie unnötig Ressourcen kostet. Textvorschlag:

"Unerwartete Exceptions müssen immer im Log registriert werden"
Auf Basis der unglücklich formulierte Coding Guidelines ("Sie [Exceptions] müssen
immer im Log registriert werden") könnte jemand auf die Idee kommen,
alle Exceptions um Protokollierung zu ergänzen. Das wäre sehr schlecht.

Liebe Frau Huber, es ist keine böse Absicht, wenn ich Ihnen Rechtschreibfehler
spät melde, sondern es liegt einfach daran, dass ich sie auch erst spät bemerke.
Gerade jetzt habe ich wieder einen, der korrigiert werden sollte: "Exeptions".
Übrigens wäre es mit der Word-Datei einfacher, solche Fehler zu finden.

Viele Grüße
Stefan Weil

PS. Es ist eine gute, aber leider noch zu wenig verbreitete Sitte, in Beiträgen
zu Mailinglisten die Antworten um unnötigen Ballast zu kürzen, also nicht
einfach alle früheren Beiträge wieder mitzuschicken.