![]() |
Sämtliche Fehlermeldungen von der EXE unterdrücken
Hi,
ich arbeite momentan sehr viel mit Indy-HTTP Komponenten. Im Sourcecode wird sicherlich an die 50x mal darauf zugegriffen. Jetzt habe ich keine Lust 50x Try Except End zu schreiben oder Try Finally End (Ist letztendlich egal, weil Finally oder Except leer bleibt). Kann ich nicht einfach einstellen, das Indy gar keine Fehler ausgeben soll. Konnte dazu keine eigenschaft finden bei der HTTP-Komponente. Gibt es vielleicht eine Möglichkeit gar keine MessageBoxen durchzulassen? |
Re: Sämtliche Fehlermeldungen von der EXE unterdrücken
Schau dir mal Application.OnException an.
Ob Except oder Finally ist übrigens nicht egal, denn Finally verschluckt die Exception nicht. |
Re: Sämtliche Fehlermeldungen von der EXE unterdrücken
Zitat:
Das mit dem Finally wusste ich noch nicht. Aber erscheint logisch. |
Re: Sämtliche Fehlermeldungen von der EXE unterdrücken
Finally ist dafür da, eine aktion auszuführen, sobald der Code innerhalb das Blocks abgearbeitet ist.
try create finally free end; so zum Beispiel. Aber andererseits sollte man Fehlermeldungen nicht einfach ignorieren oder unterdrücken sondern dafür sorgen, dass sie nicht auftreten oder entsprechend reagieren beziehungsweise vorarbeiten und sie somit vermeiden. Was machst du, wenn jetzt wirklich ein Fehler auftreten sollte und du nicht darauf reagieren kannst? Kein schöner Programmierstil. Im OnExeption erreignis solltest du dann doch noch eine Fehlerunterscheidung machen und dein programm entsprechend reagieren lassen. (Bei Fehlern, mit denen du rechnest einfach ignorieren und alle anderen Melden lassen) Besonderst wenn du dein Programm noch testest, da bin ich immer für jede aussagekräftige Fehlermeldung dankbar um weiter forschen zu können. |
Re: Sämtliche Fehlermeldungen von der EXE unterdrücken
Zitat:
|
Re: Sämtliche Fehlermeldungen von der EXE unterdrücken
Deine Benutzung von Try-Finally ist aber inkorrekt. Wenn im Konstruktor nämlich eine Exception geschmissen wird, wird Free aufgerufen. Die Instanz-Variable ist aber noch nicht initialisiert, die nil-Prüfung von Free funktioniert nicht, der Destruktor wird aufgerufen, versucht die nicht vorhandene Instanz freizugeben und es gibt eine Invalid-Pointer-Exception.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:01 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