Thema: Delphi try bei for-Schleife

Einzelnen Beitrag anzeigen

Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: try bei for-Schleife

  Alt 19. Okt 2007, 09:14
Ein paar Worte zu Exceptions:
- diese sollten nur verwendet werden, wenn etwas Unvorhergesehenes passiert.
- Unvorhergesehen ist z.B. wenn jemand die Netzwerkleitung durchschneidet oder ein Gerät nicht verfügbar ist weil es kaputt gegangen ist.
- Unvorhersehbar ist z.B. nicht wenn ein user in ein Feld (das zu Integer gewandelt werden soll) einen Buchstaben oder nichts eingibt.
- Falscheingaben sollen im Vorhinein verhindert werden. Das nachher abzufangen mit try..except ist der falsche Weg.

Bei mir wirst Du nirgends einen EConvertError finden.
Man kann einen TMaskEdit nehmen und nur Zahlen zulassen.
Dann fragt man ab, ob in EdKundenNr wirklich was eingegeben wurde, wenn nicht wird KundenNr zu 0 oder -1.
Dann erst macht man die Umwandlung mit StrToInt.

Ebenso kann man es mit anderen Exceptions machen.

Und was noch viel wichtiger ist:
wenn man schon ein try..except hat, dann darf natürlich der except-Block nicht leer bleiben. Sonst kann ich mir das try auch schenken.

Und den Code mit try..except zuzumüllen ist auch der falsche Weg.
Es heisst nicht umsonst Exception (=Ausnahme).

Ein blödes Beispiel:
Du nimmst wahllos irgendeinen Schlüssel um die Haustüre aufzuschliessen.
Wenn dieser Schlüssel nicht passt, rennst Du dann schreiend um den Block und brüllst jedem ins Gesicht dass der Schlüssel nicht passt.
Wenn Du Dich beruhigt hast, weil Dir jemand eine geknallt hat, nimmst Du den nächsten Schlüssel.
Das gleiche Spiel, bis endlich ein Schlüssel passt.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat