AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Delphi Wie man Fehler über Try und Except abfängt!
Tutorial durchsuchen
Ansicht
Themen-Optionen

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

Ein Tutorial von Chegga · begonnen am 21. Nov 2004 · letzter Beitrag vom 28. Nov 2004
Antwort Antwort
Benutzerbild von Chegga
Chegga

Registriert seit: 5. Nov 2004
Ort: Kirchheim
453 Beiträge
 
Delphi 7 Architect
 
#1

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

  Alt 21. Nov 2004, 12:49
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
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

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

  Alt 21. Nov 2004, 12:51
Gehört das nicht in die Tutorial/Kurse-Sparte?

(und Delphi-Code bitte mit den entsprechenden Tags versehen)
  Mit Zitat antworten Zitat
Benutzerbild von Chegga
Chegga

Registriert seit: 5. Nov 2004
Ort: Kirchheim
453 Beiträge
 
Delphi 7 Architect
 
#3

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

  Alt 21. Nov 2004, 12:53
Hi,

stimmt! Sorry!!

MfG Marc
Marc P.
Grüße aus Kirchheim Teck
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#4

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

  Alt 21. Nov 2004, 13:38
Hi!

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


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#5

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

  Alt 21. Nov 2004, 13:41
Es wäre villeicht auch hilfreich, wenn du auch try ... finally erläutern würdest.
P.S. Verwende doch Delphi-Referenz durchsuchencase
  Mit Zitat antworten Zitat
21. Nov 2004, 13:53
Dieses Thema wurde von "Daniel" von "Object-Pascal / Delphi-Language" nach "Tutorials und Kurse" verschoben.
CodeRed

Registriert seit: 21. Nov 2004
4 Beiträge
 
#7

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

  Alt 28. Nov 2004, 14:42
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!!
  Mit Zitat antworten Zitat
Benutzerbild von Chegga
Chegga

Registriert seit: 5. Nov 2004
Ort: Kirchheim
453 Beiträge
 
Delphi 7 Architect
 
#8

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

  Alt 28. Nov 2004, 14:46
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.

MfG Marc
Marc P.
Grüße aus Kirchheim Teck
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

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

  Alt 28. Nov 2004, 15:43
um das Tutorial noch zu vervollständigen könntest du noch demonstrieren wie man im Except auf bestimmte Fehler eingehen kann.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


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