![]() |
INDY 10 exections abfangen oder nicht
nicht jede indy exeception speziell auf server seite ist ja ein fehler
![]() exception auf der server seite noch zu verfolgen ?
Delphi-Quellcode:
procedure TForm1.ServerException; begin Memo1.Lines.Add('A Exception happend'); end; procedure TForm1.IdTCPServer1Exception(AContext: TIdContext; AException: Exception); begin TIdNotify.NotifyMethod(ServerException); Memo1.Lines.Add(AException.ClassName); end; procedure TForm1.IdTCPServer1Execute(AContext: TIdContext); var ... AException: Exception; LSize: LongInt; begin try begin Memo1.Lines.Add('svr start execute !'); ... ..... .. . Memo1.Lines.Add('svr end execute !'); end; except on e: exception do begin IdTCPServer1Exception(AContext, AException); Raise; end; end; end; |
AW: INDY 10 exections abfangen oder nicht
Hi Bernhard,
ich rate Dir auf keinen Fall Indy-Exceptions im OnExecute Event des Servers zu schlucken !!!! Wenn Du das machst, kann es nämlich sein das Indy gar nicht mitbekommt das ein Fehler aufgetreten ist und unter Umständen hast Du dann eine ewige "Zombie-Connection". Das OnExecute des Server tritt ja innerhalb eines Threads immer wieder auf: - Indy startet Thread für Connection Solange Connected & keine Exception do begin OnExecute(AContext); Prüfe Connection; <------ genau das kann zu einem falschen Ergebnis kommen wenn Du Exceptions schluckst end; Falls Du aber im OnExecute wirklich auf eine bestimmte Exception reagieren möchtest, dann so:
Delphi-Quellcode:
Greetz Data
try
except on e:exception do begin Log(e.Message); // oder was auch immer Du mit der Exception tuen möchtest raise; // Exception neu auslösen, damit diese auch bei Indy ankommt end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 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