Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Tutorials und Kurse (https://www.delphipraxis.net/36-tutorials-und-kurse/)
-   -   Delphi Wie man Fehler über Try und Except abfängt! (https://www.delphipraxis.net/34334-wie-man-fehler-ueber-try-und-except-abfaengt.html)

Chegga 21. Nov 2004 12:49


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:
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

Dax 21. Nov 2004 12:51

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)

Chegga 21. Nov 2004 12:53

Re: Wie man Fehler über Try und Except abfängt!
 
Hi,

stimmt! Sorry!!

MfG Marc

fkerber 21. Nov 2004 13:38

Re: Wie man Fehler über Try und Except abfängt!
 
Hi!

Und was die 6 If-Abfragen angeht: :arrow: Delphi-Referenz durchsuchenCase


Ciao Frederic

jfheins 21. Nov 2004 13:41

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 Delphi-Referenz durchsuchencase

DP-Maintenance 21. Nov 2004 13:53

DP-Maintenance
 
Dieses Thema wurde von "Daniel" von "Object-Pascal / Delphi-Language" nach "Tutorials und Kurse" verschoben.

CodeRed 28. Nov 2004 14:42

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!!

Chegga 28. Nov 2004 14:46

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

SirThornberry 28. Nov 2004 15:43

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