Autor Beitrag
MrBlack
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Sa 02.01.10 19:48 
Hallo, zum ersten Mal bin ich dabei einen try-except Block zu verwenden. Leider erhalte ich einen Fehler. Ziel meines Programms ist es herauszufinden, ob in dem editfeld ein Integer steht. Dazu habe ich mir folgendes überlegt:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
var a:integer;
var fehler:boolean;

begin
fehler:=false;
try
  a:= StrToInt(edit1.text);
Except
  fehler:=true;
end;
.
.
.
end;


Nun erhalte ich aber dennoch einen hässlichen Fehler, weil im editfeld kein integer steht... Aber ich dachte, gerade das wäre ich umgangen!? Danke für Eure Hilfe!!!!



Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt
Xeron
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 41

WinXP Home, Vista Home Premium 64Bit, Win7 Home Premium
Delphi 3 Prof, Delphi 7 Personal, Delphi 2010 Prof., AutoIt
BeitragVerfasst: Sa 02.01.10 19:54 
Es gibt eine Option (ich weiß leider nicht wo die steht) , die heißt "bei Exception anhalten"
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Sa 02.01.10 19:58 
Bei Delphi 2009 findet man das unter Optionen -> Debugger-Optionen -> Sprach-Exceptions, bei Delphi 7 unter Debugger-Optionen -> SprachExceptions

_________________
We are, we were and will not be.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 02.01.10 20:01 
user profile iconMrBlack hat folgendes geschrieben Zum zitierten Posting springen:
Nun erhalte ich aber dennoch einen hässlichen Fehler, weil im editfeld kein integer steht...
Wichtig ist, dass der Fehler innerhalb von try..except nur beim Debuggen angezeigt wird. Denn da geht es ja um Fehlerbehebung, so dass es dort ja auch wichtig ist Fehler zu sehen. Wie man das ändern kann wurde ja bereits erwähnt.

Wenn du das Programm aber ohne Delphi startest, dann wird der Fehler abgefangen und nicht angezeigt!

In diesem Fall ist try..except aber ohnehin Blödsinn, da nimm lieber TryStrToInt...
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Sa 02.01.10 20:01 
Exceptions sollte man so sparsam wie möglich verwenden.

Für deinen Fall würde sich daher eher die Funktion TryStrToInt anbieten ...

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
MrBlack Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Sa 02.01.10 20:56 
Danke für die schnelle Hilfe! Klappt prima! =)