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.