Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Funktion/Prozedur abbrechen?

  Alt 20. Apr 2015, 08:44
Wenn etwas überprüft werden soll, dann gibt es den Fall, dass es gültig oder ungültig ist.

Wenn etwas ungültig ist und man aber eben etwas gültiges benötigt um was auch immer zu verarbeiten/berechnen, dann habe ich eine Ausnahme-Situation. Das ist dann eine Exception.

Und genau so eine Exception wirft man in diesem Fall:
Delphi-Quellcode:
procedure TForm1.BerechneClick(Sender: TObject);
var
  Schulnote, maxpunktzahl, schülerpunkte: Integer;
begin
  maxpunktzahl := StrToInt( Edit1.Text );
  schülerpunkte := StrToInt( Edit2.Text );

  if schülerpunkte > maxpunktanzahl then
    raise EArgumentOutOfRangeException.CreateFmt(
      'Die Schülerpunkte (%d) dürfen nicht größer als die maximalen Punkte (%d) sein!',
      [schülerpunkte,maxpunktzahl] );
  
  // ab hier die normalen Berechnungen
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat