![]() |
Sämtliche Fehlermeldungen abfangen
Hallo,
ich habe ein Programm geschrieben, das Timer benutzt, FTP-Komponenten, HTTP-Komponenten und vieles mehr. Problem ist, dass das Programm nicht abstürzen darf! Bei der Anzahl der Komponenten etc. kommt dies aber ab und zu mal vor. (Verbindungsprobleme usw...) Daher meine Frage. Wie kann ich alle Fehlermeldungen abfangen? Mir ist egal in welcher Form. Von mir aus kann sich das Programm auch beenden und danach neu starten oder so. Welche Mögichkeiten gibt es da? Vielen Dank im voraus Nicolai |
Re: Sämtliche Fehlermeldungen abfangen
In erster Linie würde ich mit try und except arbeiten. Ich denke, dass das reicht.
|
Re: Sämtliche Fehlermeldungen abfangen
Oder nutze Application.OnException, damit kann man alle nicht behandelten Exceptions abfangen.
|
Re: Sämtliche Fehlermeldungen abfangen
|
Re: Sämtliche Fehlermeldungen abfangen
Ja, try und except ist schon klar...
Ich dachte nur, es gäbe einen allgemeineren Weg. (ich kann ja schlecht das gesamte Programm in ein TRY rein packen.) Naja, dann werde ich versuchen müssen alle Anweisungen einzuschachteln... Trotzdem Danke ;) Ist es eigentlich sinnvoll, - mehr oder weniger - alle Functionen/Proceduren in Try-Except einzuschachteln? |
Re: Sämtliche Fehlermeldungen abfangen
Zitat:
|
Re: Sämtliche Fehlermeldungen abfangen
Naja, bei meine FTP-Komponente (Indy) zum Beispiel kommen manchmal (eher selten) Fehler, wenn man etwas hochladen möchte. Dann starte ich das Programm neu logge mich erneut ein und das ganze geht einwandfrei (alles mit der selben Config etc.)
Sowas kann ich leider nicht anders bekämpfen... |
Re: Sämtliche Fehlermeldungen abfangen
Zitat:
Zitat:
Zitat:
|
Re: Sämtliche Fehlermeldungen abfangen
Zitat:
@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). |
Re: Sämtliche Fehlermeldungen abfangen
Da ich damals selbst noch nicht so viel wußte, habe ich mich da mehr auf die Aussage von Hagen verlassen in diesem Thread:
![]() Btw, der erste Absatz ist mehr oder weniger eine Aussage vom Richter, wenn ich mich nicht irre. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz