Zitat von
stahli:
Wenn man z.B. mit Netzwerkverbindungen arbeitet muss man immer mit Abbrüchen rechnen und darauf reagieren.
An anderen Stellen wird aber doch mit getesteten Klassen und Bedingungen gearbeitet, wo keine Exceptions zu erwarten sind.
Wenn irgendwann doch Probleme erkannt werden, muss man eben doch nachbessern.
Ich erwarte in meinen Programmen grundsätzlich keine Exceptions, schon garnicht nach ausreichenden Tests.
Die Schutzblöcke sind für die unerwarteten Fehler.
Wenn ich mit Netzverbindungen arbeite, dann wird dort, wo die Netzverbindung genutzt wird, eine Fehlerbehandlung implementiert, so dass von dort keine
Exception "irgendwo ins Programm fliegen kann" und erst recht kein Programmzustand erreicht werden kann, bei dem eigentlich nur noch "ein Abschuß des Programmes" sinnvoll erscheint.
Zitat von
stahli:
Wenn es ordentlich gerumst hat wirst Du bestimmt nicht schauen, ob der Speicher zuvor korrekt aufgeräumt wurde.
Du musst den Fehler finden und das Programm sowie die Daten bereinigen.
Das ist ein Zustand, der bei meinen Programmen nicht auftreten darf und ich kann mich nicht erinnern, wann so ein Zustand zuletzt aufgetreten ist. Das dürfte Jahre her sein (bezogen auf den Produktivbetrieb). Beim Entwickeln und Testen kann's schonmal passieren und dann weiß ich, dass ich meinen Hausaufgaben nicht vernünftig gemacht habe.
Zitat von
stahli:
Wenn das Programm korrekt läuft, werden alle Free ausgeführt und es gibt kein Speicherleck
Stimmt, und mit Schutzblöcken kann ich mich sogar bei unerwarteten Fehlern darauf verlassen und nicht nur bei erwarteten.
Und ein Programm nach den Kriterien zu entwickeln, dass es im Extremfall egal ist, wenn was nicht freigegeben wird, ist mir zu kompliziert.
Meine Routinen sollen sowohl im Normalfall, als auch im Ausnahmefall, möglichst sauber arbeiten.
Aber irgendwie sind unsere Ansichten zu dem Thema sehr unterschiedlich. Also lassen wir es dabei.