Zitat von
Nicolai1605:
(ich kann ja schlecht das gesamte Programm in ein TRY rein packen.)
Du darfst dreimal raten wieso Windows abkackt, wenn es dein Programm tut. Oder wieso du bei Delphi-Programmen eine bestimmte Fehlermeldung mit Angabe des Runtime Error und bei Konsolenprogrammen fast die gleiche Meldung bekommst. Gleiches gilt für so ziemlich alle Frameworks die ich kenne.
@Luckie: Ich kann dir nicht zustimmen. Wenn du mal daran denkst, wo Exceptions überall schon vom System her eingesetzt werden, sollte dich das nachdenklich machen (übrigens setze ich gleiche Methode in einem meiner C++-Programme ein um ein Objekt erst dann zu erzeugen, wenn auch ein Zugriff darauf stattfindet - ansonsten gibt's das Objekt nicht - ist durchaus sehr sparsam).
Die Stackgröße wird immer wieder angepaßt, wenn eine
Exception wegen Overflow auftritt. Voila ... nächstes Anwendungsgebiet. Also Exceptions sind schon eine feine Sache. Klar sollte man sie im Übermaß nicht einsetzen ... aber wozu auch. Exceptions sind ja gerade deswegen sinnvoll, weil sie die Filter auch durchlassen können, so daß sie auf den letzten
Exception-Handler durchschlägt.
Nachtrag: Den ersten Absatz kannste fast komplett wegwerfen. Wenn du mal an den Trick denkst, den ich dir zusammen mit Motzi gezeigt hatte, wirst du feststellen, daß das Betriebssystem sowohl im K-Mode als auch im U-Mode eine Menge bei der Exceptionbehandlung zu tun hat. Ich sage nur: setzen der Debugregister. Nur weil du den entsprechenden K-Mode-Code nicht siehst, heißt es nicht er sei nicht da, zumal das setzen der DrX eine privilegierte Operation ist (würde im U-Mode also selber eine
Exception auslösen).