Wem gehört diese Exception?
-
Hallo, ich hätte hier ein kleines Problem mit ner ConvertError-Exception:
try { Geraeuschmessung->Nennleistung = edtNennleistung->Text.ToDouble(); Geraeuschmessung->Datum = StrToDate(edtDatum->Text); //... Geraeuschmessung->Anzahl_Messpunkte = edtAnzahl_Messpunkte->Text.ToInt(); Geraeuschmessung->Abstand = edtAbstand->Text.ToDouble(); } catch(EConvertError &E) { //TODO : Besseres ExceptionHandling bei der Eingabe MessageDlg("In einem der Felder steht ein ungültiger Inhalt!",mtWarning,TMsgDlgButtons()<<mbOK,0); return; }Nun, meine Fehlermeldung klingt doch ziemlich bekloppt, oder? Ich würde dem Benutzer ja gerne mitteilen, welches Edit-Feld er editieren soll... nur habe ich keine Ahnung! Die Idee eines Kollegen, nach jeder Konvertierungszeile einen Zähler hochzählen zu lassen und dann im Catch-Teil ne switch-Anweisung zu machen gefällt mir nicht sonderlich... habt Ihr vielleicht ne bessere Idee?
-
Ach ja: Ich will auch nicht um jede Zuweisung ein try...catch packen...

-
Das ExceptionObjekt gibt dir mit:
E.Message
doch schon mal den fehlerhaften Wert zurück,
reicht das nicht als Hinweis?
-
Naja... immerhin besser als mein Krampf... Danke! Nehme ich erst mal.
Aber falls jemand noch was besseres findet...
-
Besser als nachträglich auf Gültigkeit zu prüfen, finde ich, unzulässige
Eingaben zu verhindern. Entweder durch Verwendung entsprechender Komponenten
oder durch Abfangen der Eingabe im KeyPress-Ereignis. Oder vielleicht bei
einem Focus-Wechsel die Gültigkeit abprüfen.Gruß,
Alexander
-
Die Möglichkeit ist mir gar nicht gekommen... peinlich.Tja... so könnte man es tatsächlich machen... danke! Na dann mache ich es mal so. Lalala.... *freu*