![]() |
EConvertError Exception mit Compilerschalter unterdrücken?
Guten Morgen ^^
Gibt es eine Möglichkeit bestimmte Exceptions (z.B.: EConvertError) via Compilterschalter für einen kleinen Bereich zu unterdrücken. Eine Funktion in meinem Programm liefert manchmal einen ConvertError zurück, was auch in Ordnung bzw. normal ist, und ich möchte die Exception, die dieser Abschnitt wirft in soweit unterdrücken, dass die Anwendung nicht angehalten wird. Die Unterdrückung soll aber nur für den Programmteil erfolgen und nicht für das ganze Projekt. Ich danke für jede Hilfe :> |
Re: EConvertError Exception mit Compilerschalter unterdrücke
für das ganze projekt wüsste ich es, aber du kannst auch da ´drinnen nachschauen ob das für einen bestimmten abschnitt geht, zwar unter:
Tools-->Debug-Optionen-->Sprach-Exceptions und dann auf hinzufügen und die Exception hineinschreiben |
Re: EConvertError Exception mit Compilerschalter unterdrücke
Zitat:
|
Re: EConvertError Exception mit Compilerschalter unterdrücke
Nein cell, das geht nicht...
Der Vorschlag von dir funktioniert leider auch nicht, Bernhard. Wenn eine Exception geworfen wird und die Anwendung aus der IDE gestartet wird, hält der Debugger die Anwendung trotzdem an. Ich möchte aber nur für diesen kleinen Bereich das Anhalten des Debuggers unterdrücken Edit: Tippfehler... |
Re: EConvertError Exception mit Compilerschalter unterdrücke
Hi,
dass der Debugger anhält ist ja klar, aber wenn du das Programm so startest (ohne Debugger), dann kommt auch keine Meldung. |
Re: EConvertError Exception mit Compilerschalter unterdrücke
exceptions in den optionen zu deaktivieren haltich auch für bedenklich -
stattdessen einfach das program von außerhalb starten und gut - dazu sind exceptions ja schließlich da |
Re: EConvertError Exception mit Compilerschalter unterdrücke
Ich möchte aber das Programm nicht von aussen starten, da ich es ja debuggern will.
Nur eben nicht an dieser einen Stelle, da der "Fehler" da mir bekannt und vollkommen in Ordnung ist. Die Exception selbst wird ja auch abgefangen und behandelt, ich möchte nur einfach nicht, dass der Debugger das Programm anhält. Geht das oder nicht? Gibt es dafür nen Compiler-Schalter? Hab leider keinen gefunden :/ bzw. Kann man Exceptions überhaupt mit einem Compiler-Schalter vollständig unterdrücken? Ich stimme übrigens barf00s zu: Exceptions komplett in den Optionen zu unterdrücken, halte ich ebenfalls für nicht sonderlich sinnvoll... |
Re: EConvertError Exception mit Compilerschalter unterdrücke
Zitat:
also kannst (solltest) die diese mit try..except abfangen und behandeln. einfach abschalten ist der falsche weg, es werden nur symptome behandelt. <ironie> wäre ungefähr so: du schlägst dir mit dem hammer auf den finger. der finger wird blau und tut weh. damit es nicht mehr weh tut, schneidest du den nerv durch, der den schmerz ans gehirn weiterleitet. </ironie> also: exceptions nicht ignorieren oder abschalten, sondern abfangen und behandeln. das einzige was erlaubt ist: exceptions innerhalb der delphi-GUI ausschalten, damit der debugger nicht ständig am motzen ist. in der applikation sind die exceptions aber dann immernoch vorhanden. gruessle |
Re: EConvertError Exception mit Compilerschalter unterdrücke
Ich glaube unter Tools -> Debugger, gibts irgendwo nen Kreuzchen, dass "Bei Delphi-Exception anhalten" oder so ähnlich heißt.
|
Re: EConvertError Exception mit Compilerschalter unterdrücke
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
|
Re: EConvertError Exception mit Compilerschalter unterdrücke
hmm dann drück doch einfach wieder f9 wenn die exception kam (und vllt sogar behandelt wurde) dann gehts weiter
|
Re: EConvertError Exception mit Compilerschalter unterdrücke
Zitat:
Versteht mich keiner? -heul-
Delphi-Quellcode:
begin try Funktion1... Funktion2... {$EXCEPTIONS AUS} Funktion3... {$EXCEPTIONS AN} Funktion4... except on E: Exception do CreateExcept('Blah', E.Message, E.ClassName); end; end; end; |
Re: EConvertError Exception mit Compilerschalter unterdrücke
Zitat:
|
Re: EConvertError Exception mit Compilerschalter unterdrücke
Doch ich verstehe dich, aber es ist glaube ich nicht möglich.
Siehst du deinerseits eine Möglichkeit die Exception zu verhindern? Sprich: Prüf vorher manuell ob der Wert korrekt ist, somit bekommst du auch keine Exception :) So wäre dein Problem indirekt gelöst... |
Re: EConvertError Exception mit Compilerschalter unterdrücke
Nein die Exception kann ich nicht verhindern, da sie aus einer DLL kommt, dessen Source ich nicht bearbeiten darf.
Ich werd dann wohl damit leben müssen :roll: Aber danke trotzdem für eure Hilfe :) |
Re: EConvertError Exception mit Compilerschalter unterdrücke
Hallo :hi:,
du kannst doch, nachdem der Fehler aufgetreten ist, einfach weitermachen. :gruebel: Debugen heißt doch Haltepunkt setzen und mit F8/F7 durch das Programm gehen und gucken, was passiert, oder? MfG freak |
Re: EConvertError Exception mit Compilerschalter unterdrücke
Warum sollte er für einen gewollten Fehler immer wieder weiter drücken... In der Indyhilfe steht auch, wie man die Connection-Closed-Gracefully-Exceptions in der IDE ausstellt, da diese sonst unglaublich nervig sind.
Aber SubData, ich würde die Exception in der IDE unterdrücken, aus folgendem Grund: - Sie ist nervig - Wenn woanders eine solche Exception ausserhalb eines try...except auftritt wird diese 1 zu 1 an deine App weitergereicht und diese sich mit einer Meldung verabschieden. Wenn dies passiert schaltest du die Unterdrückung ab (drückst 1x F9 um die eine zu umgehen) und suchst den Fehler. Danach schaltest du die Unterdrückung wieder ein. Eine bessere Lösung wird wohl nicht möglich sein. Gruss |
Re: EConvertError Exception mit Compilerschalter unterdrücke
Ja genau das werde ich auch tun...
Die Exception global unterdrücken ist auch kein Problem, mir gings halt nur um diese Stelle, da ich ungern Fehler unterdrücke... |
Re: EConvertError Exception mit Compilerschalter unterdrücke
/!\ Merke /!\
exception <> fehler :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:28 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