![]() |
Ini file automatisch ergänzen, Exception handling
ich wollte mit folgendem Code automatisch fehlenden Einträge in einer Ini Datei ergänzen
Delphi-Quellcode:
result := GetINifileInfos_AS_STRING(FileName, MySectionIDENT, MySectionValue);
try testbool := StrToBool(result); // exception bekomme ich wenn der Wert ungleich 0 oder 1 except Raise Exception.Create('Error happened, reading boolean from ini file'); SetInifileInfos( Filename, MyValue, false); // Wird nicht ausgeführt ??? end; wenn der Eintrag nicht vorhanden ist wird die Exception zwar geworfen, allerdings wird nicht der fehlenden Eintrag in der Ini geschrieben.... Starten der *.exe vom Explorer aus hat auch nicht geholfen :-( ( ![]() |
AW: Ini file automatisch ergänzen, Exception handling
Du musst die Funktion VOR dem raise aufrufen.
|
AW: Ini file automatisch ergänzen, Exception handling
das war's ... , Danke
|
AW: Ini file automatisch ergänzen, Exception handling
Abgesehn davon
Zitat:
Und warum kommt niemand auf die Idee ![]() ![]() ich hatte bei uns im Programm früher sehr oft sowas wie
Delphi-Quellcode:
gefunden und das sogar in einigen OnPaint-Ereignissen.
try
i := StrToInt(S); except i := 0; end; Als jemand der öfters mal debuggt würde ich den Ersteller solcher Codes nur zu gern erwürgen. Bei dir bekommt man dann z.B. zwei Exceptions im Debugger um die Ohren geworfen, anstatt nur Einer. Zitat:
Gut, hier gibt es nur eine Exception, womit es auch nur einen Zustand gibt, aber grundsätzlich sollte man niemals die ursprüngliche Exception verfälschen und durch einen vollkommen nutzlosen Text ersetzen. Maximal den Text der Exception um Zusatzinfos erweitern. Wenn das Programm ein Log hat, dann kann die originale Fehlermeldung auch dort rein. z.B. wenn man FileName, MySectionIDENT, MySectionValue und Result in den Fehlertext aufnimmt, dann könnte man die originale Message durch dieses ersetzen, da der Informationsgehalt mindestens gleichwertig ist. Und dann steht in deiner Meldung nichts davon, dass der Fehler behoben wurde. Wenn jetzt jemand auf die Idee kommt in die INI zu schauen, dann entdeckt er dort keinen Fehler mehr und hält den Programmierer dieser Software für dämlich, weil dort nichts falsch drin ist. :angle2: Außerdem, warum kein
Delphi-Quellcode:
was eine Exception liefert,
GetINifileInfos_AS_BOOLEAN(S: string): Boolean
oder
Delphi-Quellcode:
wo stattdessen der Status als Boolean geliefert wird?
GetINifileInfos_AS_BOOLEAN(S: string; out Value: Boolean): Boolean;
|
AW: Ini file automatisch ergänzen, Exception handling
Zitat:
|
AW: Ini file automatisch ergänzen, Exception handling
Hmm..
Zitat:
TryStrToBool / StrToBoolDef sind Funktionen aus SysUtils, welche zumindestens hier in D6 schon vorhanden waren... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:16 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