AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Exception

Ein Thema von Hansa · begonnen am 2. Sep 2002 · letzter Beitrag vom 2. Sep 2002
Antwort Antwort
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

Problem mit Exception

  Alt 2. Sep 2002, 12:01
Hallo Leute,

wo ist hier ein Fehler:

procedure Tform1.Edit1Exit(Sender: TObject);
var WGnr : integer;
begin
WGnr := 0;
try
WGnr := StrToInt (Edit1.text)
except
ShowMessage ('fehlerhafte Eingabe !');
Edit1.SetFocus;
end;
end;

Trotz try..except - Block kommt Fehlermeldung EconvertError und das Programm verabschiedet sich. Und zwar an der Stelle StrToInt.

Gruß
Hansa
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 2. Sep 2002, 12:35
Moin Hansa,

gehe ich recht in der Annahme, dass der Fehler nur bei Start aus der IDE nicht abgefangen wird?

Wenn ja, müsstest Du nur unter Tools\Debugger Optionen\Sprach-Exceptions den Haken bei "Bei Delphi Exceptions-stoppen" wegnehmen, um das zu verhindern.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3
  Alt 2. Sep 2002, 12:43
Hallo Christian,

muß weeeeeg, das muß es sein, habe bei Compilereinst. gesucht. Taucht nur in IDE auf. Mach den Haken heute mittag weg.

Gruß
Hansa
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4
  Alt 2. Sep 2002, 17:54
Hi Chris,

Haken ist weg, das wars. In keinem Tutorial wurde darauf hingewiesen oder so, habe zumindest nichts gesehen.

Da sieht man mal wieder, wie wichtig solche Foren für jeden Programmierer sind, sofern nicht nur Egoisten dabei sind.

War ja nicht viel, aber ich hätte noch 2 Tage suchen müssen.

Gruß nach Hamburg
Hansa
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5
  Alt 2. Sep 2002, 19:10
Das war doch zu schnell. Habe die Prozedur global gemacht :

procedure TForm1.AppException(Sender: TObject; E: Exception);
begin
Messagedlg('Fehler : '+ E.Message, mterror,[mbok],0);
end;

procedure TForm1.FormCreate(Sender: TObject);
BEGIN
Application.OnException := AppException;
end;

Für ein einzelnes Feld zu prüfen, habe ich im Except-Block mit Edit1.SetFocus den Cursor gezwungen, solange in dem Feld zu bleiben, bis ein plausibler Wert eingetragen war.

Global geht das aber nicht. Vielmehr muß ich jetzt den Cursor in das entsprechende Feld 'zurückschicken', welches den Fehler produziert hat, egal welches das war! Wie mach ich jetzt das?

Gruß
Hansa
  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 05:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz