![]() |
Wie man Fehler über Try und Except abfängt!
Hallo, :hi:
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:
Zwischen procedure und begin fügen wir folgendes ein: var Note: Integer; Das ganze sieht dann so aus:
procedure TForm1.Button1Click(Sender: TObject);
begin end;
Delphi-Quellcode:
Jetzt kommt das eigentliche Programm:
procedure TForm1.Button1Click(Sender: TObject);
var Note: Integer; begin end;
Delphi-Quellcode:
Startet das Programm und gebt die Zahlen 1-6 ein!
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; 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 |
Re: Wie man Fehler über Try und Except abfängt!
Gehört das nicht in die Tutorial/Kurse-Sparte?
(und Delphi-Code bitte mit den entsprechenden Tags versehen) |
Re: Wie man Fehler über Try und Except abfängt!
Hi,
stimmt! Sorry!! MfG Marc |
Re: Wie man Fehler über Try und Except abfängt!
|
Re: Wie man Fehler über Try und Except abfängt!
Es wäre villeicht auch hilfreich, wenn du auch try ... finally erläutern würdest.
P.S. Verwende doch ![]() |
DP-Maintenance
Dieses Thema wurde von "Daniel" von "Object-Pascal / Delphi-Language" nach "Tutorials und Kurse" verschoben.
|
Re: Wie man Fehler über Try und Except abfängt!
Also ich finde das Tutorial sehr hilfreich. Ok, in seinem Beispiel könnte man es auch anders lösen, aber ich habe einen anderen Fall, bei dem ich diese Sache super verwenden kann.
also danke schön!! |
Re: Wie man Fehler über Try und Except abfängt!
Bitte, bitte CodeRed,
es war auch mein Ziel mit diesem Tutorial anderen zu helfen!! Schön das es dich weitergebracht hat, bzw. dir geholfen hat. :hello: MfG Marc |
Re: Wie man Fehler über Try und Except abfängt!
um das Tutorial noch zu vervollständigen könntest du noch demonstrieren wie man im Except auf bestimmte Fehler eingehen kann.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:27 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