Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi try-except Problem (https://www.delphipraxis.net/71469-try-except-problem.html)

thetrue 15. Jun 2006 19:16


try-except Problem
 
was ist hier falsch?
der error von dem TidTCPClient wird trotzdem angezeigt!

Delphi-Quellcode:
procedure Tfrm_main.Timer2Timer(Sender: TObject);
begin
if server.Connected then
  begin
  try
    begin
    tmptxt := server.ReadLn(':cmd\*\'); // nicht beachten das ist schon richtig, liegt irrgend wie an try-Except
    timer1.Enabled := true;
    end;
  Except
    end;
  end;
end;

Balu der Bär 15. Jun 2006 19:17

Re: try-except Problem
 
Nimm mal das begin - end nach try weg. ;)

mkinzler 15. Jun 2006 19:20

Re: try-except Problem
 
Erfolgt die Anzeige beim Start aus der IDE (Debugger) oder auch wenn du sie aus dem Explorer startest?

SirThornberry 15. Jun 2006 19:21

Re: try-except Problem
 
ich vermute du fürhst das ganze aus Delphi heraus aus und hast in den Debugger Option nicht explizit abgeschaltet das du über diese Exceptions informiert werden willst. Außerhalb von Delphi (also über Explorer etc. gestartet) solltest du keinen Fehler zu gesicht bekommen.

xZise 15. Jun 2006 21:10

Re: try-except Problem
 
Delphi-Quellcode:
procedure Tfrm_main.Timer2Timer(Sender: TObject);
begin
  if server.Connected then begin
    try
      tmptxt := server.ReadLn(':cmd\*\');
      timer1.Enabled := true;
    except
   
    end;
  end;
end;
Könnte es sein, dass es so geht?

SirThornberry 15. Jun 2006 21:38

Re: try-except Problem
 
@xZise: Das ist doch genau das gleiche nur das du keinen begin-End-Block hast.

himitsu 16. Jun 2006 00:57

Re: try-except Problem
 
Zitat:

Zitat von thetrue
Delphi-Quellcode:
except
  end;
end;

Tut mir Leid, aber die Codeformatierung ist echt schlecht, denn es sieht ja so aus, als wenn dort ein einsames END drinstehen würde.

@xZise: da könnte noch ein BEGIN-END wegfallen, da TRY-EXCEPT auch einen eigenständigen Block darstellt.
Delphi-Quellcode:
procedure Tfrm_main.Timer2Timer(Sender: TObject);
begin
if server.Connected then
  try
    tmptxt := server.ReadLn(':cmd\*\')
    timer1.Enabled := true;
  except
  end;
end;

PS: wie mkinzler schon andeutete ... der Debugger zeigt selbst nochmal die Exceptionmeldung an (wenn dieses Verhalten nicht extra in den Projektoptionen deaktiviert wurde.

Also die erste Exceptionmeldung kommt vom Debugger und danach kommt erst die Exceptionmeldung vom Programm.
Und wenn die Exception innerhalb von TRY-EXCEPT auftritt, dann kommt immernoch die Meldung vom Debugger und die vorm Programm wird unterdrückt.


Außerhalb des Debuggers kommt dann natürlich keine Meldung mehr vom Debugger, wie auch ... ist ja keiner mehr da.

PSS: aber das hättest du auch im Forum nachlesen können, denn es gibt schon unmassen von diesen Fragen, wo es jedesmal wieder gesagt wird -.-''


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:32 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