Hallo,
ich will an dieser Stelle einen kleinen Text zum Thema
Try und Except verfassen, da in letzter Zeit
viele Fragen dazu gekommen sind.
Dazu brauchen wir die Komponenten
Label,
Edit und
einen
Button. Wir wollen das Programm so geschalten,
dass es zu den Zahlen 1-6 die jeweiligen Bedeutungen
sehr gut - ungenügend im Label Preis gibt.
In das Label schreiben wir:
"Gib eine Note ein:"
Den Button nennen wir:
"OK"
Los geht's:
Doppelklick auf den Button1 und es erscheint der Quelltext:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
end;
Zwischen
procedure und
begin fügen wir folgendes ein: var Note: Integer; Das ganze sieht dann so aus:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Note: Integer;
begin
end;
Jetzt kommt das eigentliche Programm:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Note: Integer;
begin
try
Note := StrToInt (Edit1.Text)
if Note = 1 then Label1.Caption := 'sehr gut';
if Note = 2 then Label1.Caption := 'gut';
if Note = 3 then Label1.Caption := 'befriedigend';
if Note = 4 then Label1.Caption := 'ausreichend';
if Note = 5 then Label1.Caption := 'mangelhaft';
if Note = 6 then Label1.Caption := 'ungenügend';
except
Label1.Caption := 'Schwachsinn!';
end;
end;
Startet das Programm und gebt die Zahlen 1-6 ein!
Das Programm antwortet mit den jeweiligen Noten als Wörter.
Doch was ist, wenn man nun aus Versehen einen Buchstaben eingibt?
Dann erscheint eine Fehlermeldung von Delphi:
...Meldung: "t' ist kein gültiger Intergerwert'. Prozeß wurde
angehalten...
Drückt einfach auf OK ein schließt das Programm.
Wir haben etwas vergessen.
Unter
Tools,
Debugger-Optionen,
BS-Exceptions unten
Integrierte Fehlersuche deaktivieren. Damit teilt ihr Delphi mit,
dass ihr einen möglichen Fehler selber bereinigen möchtet!
Das haben wir mit
try und
except gemacht.
Schaut euch den Quelltext noch einmal an.
Hier das Prinzip:
try (deutsch=versuche)
// hier stehen alle Befehle, die Versuchsweise durchgeführt werden
except (deutsch=außer)
// hier stehen alle Befehle, die einen Fehler auswerten und ihn dann bereinigen
Das Prinzip:
try
AnweisungsBlock 1
except
AnweisungsBlock 2
end;
Der Anweisungsblock nach
try hört da auf, wo except anfängt.
Der Anweisungsblock
except muss immer mit einem
end; abgeschlossen
weden!
Ich hoffe ich konnte damit ein wenig helfen!!
MfG Marc
Marc P.
Grüße aus Kirchheim Teck