AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Eingabe auf Richtigkeit Prüfen mit try..except..???
Thema durchsuchen
Ansicht
Themen-Optionen

Eingabe auf Richtigkeit Prüfen mit try..except..???

Ein Thema von Osse · begonnen am 20. Jun 2005 · letzter Beitrag vom 21. Jun 2005
 
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Eingabe auf Richtigkeit Prüfen mit try..except..???

  Alt 21. Jun 2005, 07:04
Gegen die Plausibilitätsabfrage per Try...Except ist an sich Nichts einzuwenden, das es die Lesbarkeit erhöht und nicht unnötig verschachtelte 'If ok then' vermeidet. Der Code, so wie er bei Richtigkeit der Eingabe ausgeführt würde, ist sequentiell dargestellt und die Fehlerbehandlung klar davon getrennt. Speziell bei mehreren Fehlerquellen ist das sehr praktisch.
Bei ein oder zwei Abfragen würde ich aber vielleicht, wie eben schon erwähnt, doch die 'TryStrTo****' Funktionen verwenden. Die hier immer wieder auftretenden Argumente von wesentlich langsamerer Ausführung mit Try...Except sind insofern Blödsinn, als es vollkommen Wurscht ist, ob der Anwender nach 0,15 oder 2,0 ms eine Fehlermeldung vorgesetzt bekommt.

Code mit Try...Except:
Delphi-Quellcode:
Begin
  Try
    Zahl := StrToInt (Eingabe.Text);
    If Zahl < KleinsterWert Then Raise Exception.Create('Zahl ist zu klein');
    If Zahl > KleinsterWert Then Raise Exception.Create('Zahl ist zu gross');
    ... // Code, der normalerweise (Eingabe ist OK) ausgeführt wird.
  Except
    ... // Fehlerbehandlung
    End;
End;
Der gleiche Code mit If...Then
Delphi-Quellcode:
Begin
  If TryStrToInt (Eingabe.Text, Zahl) Then
    If Zahl < KleinsterWert Then
      ... // Fehlerbehandlung
    Else
      If Zahl > KleinsterWert Then
        ... // Fehlerbehandlung
      Else Begin
        ... // Code, der normalerweise (Eingabe ist OK) ausgeführt wird.
        End
   Else
     ... // Fehlerbehandlung
End;
Version (1) ist eindeutig die Lesbarere, finde ich jedenfalls.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:26 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