AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit Exceptionbehandlung

Ein Thema von Hobbycoder · begonnen am 5. Jul 2021 · letzter Beitrag vom 6. Jul 2021
 
Hobbycoder

Registriert seit: 22. Feb 2017
1.002 Beiträge
 
#1

Problem mit Exceptionbehandlung

  Alt 5. Jul 2021, 17:54
Hi,

ich habe ein Problem mit einer Expeptionbehandlung. Nicht direkt mit dem Anfangen, das funktioniert.
Zum senden von Nachrichten über TIdTCPClient habe ich eine einfache Stringlist, welche die zu sendenden Kommandos beinhaltet. Diese wir in einem Thread laufend abgefragt, und wenn Count>0 dann wird das Item[0] eben über TCP gesendet und anschließend entfernt. Das functioniert soweit. Wenn aber der TCPClient keinen Connect aufbauen kann, soll das Item[0] trotzdem gelöscht werden, weil es später zu senden, keinen sinn macht.
Während bei erfolgreichem Senden das Item auch gelöscht wird, so verbleibt bei nicht erfolgreichem Senden in meiner stringlist.
Ich muss irgendwo in meiner Exceptionbehandlung einen Fehler machen.

Delphi-Quellcode:
    while not self.Terminated do
    begin
      if FMsgQueue.Count>0 then
      begin
        FTCPClient.Host:='127.0.0.1';
        FTCPClient.Port:=Self.FDestinationPort;
        try
          FTCPClient.Connect;
          try
            if FTCPClient.Connected then
            begin
              FTCPClient.Socket.WriteLn(FMsgQueue[0]);
              DoError('No Error (QueueMsgCount: '+IntToStr(FMsgQueue.Count)+')');
            end;
          finally
            FTCPClient.Disconnect;
            FMsgQueue.Delete(0);
          end;
        except
          on E: Exception do
          begin
            if FMsgQueue.Count>0 then FMsgQueue.Delete(0);
            DoError(E.Message+' (QueueMsgCount: '+IntToStr(FMsgQueue.Count)+')');
          end;
        end;
      end;
      Sleep(50);
    end;
Hier mal die Logdatei:
Code:
18:49:40,018: TCPClient: Socket-Fehler # 10061Verbindung abgelehnt. (QueueMsgCount: 4)
18:49:42,105: TCPClient: Socket-Fehler # 10061Verbindung abgelehnt. (QueueMsgCount: 6)
18:49:44,197: TCPClient: Socket-Fehler # 10061Verbindung abgelehnt. (QueueMsgCount: 13)
18:49:46,273: TCPClient: Socket-Fehler # 10061Verbindung abgelehnt. (QueueMsgCount: 18)
18:49:48,357: TCPClient: Socket-Fehler # 10061Verbindung abgelehnt. (QueueMsgCount: 25)
18:49:50,444: TCPClient: Socket-Fehler # 10061Verbindung abgelehnt. (QueueMsgCount: 27)
18:49:52,534: TCPClient: Socket-Fehler # 10061Verbindung abgelehnt. (QueueMsgCount: 29)
18:49:54,620: TCPClient: Socket-Fehler # 10061Verbindung abgelehnt. (QueueMsgCount: 34)
18:49:56,714: TCPClient: Socket-Fehler # 10061Verbindung abgelehnt. (QueueMsgCount: 36)
18:49:58,810: TCPClient: Socket-Fehler # 10061Verbindung abgelehnt. (QueueMsgCount: 38)
18:50:00,896: TCPClient: Socket-Fehler # 10061Verbindung abgelehnt. (QueueMsgCount: 43)
18:50:02,994: TCPClient: Socket-Fehler # 10061Verbindung abgelehnt. (QueueMsgCount: 45)
18:50:05,081: TCPClient: Socket-Fehler # 10061Verbindung abgelehnt. (QueueMsgCount: 47)  
18:50:05,659: TCPClient: No Error (QueueMsgCount: 47)                                   <<--- Hier stell ich dann den TCP-Server bereit.
18:50:05,722: TCPClient: No Error (QueueMsgCount: 46)
18:50:05,785: TCPClient: No Error (QueueMsgCount: 45)
18:50:05,849: TCPClient: No Error (QueueMsgCount: 47)
18:50:05,913: TCPClient: No Error (QueueMsgCount: 46)
18:50:05,976: TCPClient: No Error (QueueMsgCount: 45)
18:50:06,040: TCPClient: No Error (QueueMsgCount: 44)
18:50:06,100: TCPClient: No Error (QueueMsgCount: 43)
18:50:06,163: TCPClient: No Error (QueueMsgCount: 42)
18:50:06,227: TCPClient: No Error (QueueMsgCount: 41)
18:50:06,292: TCPClient: No Error (QueueMsgCount: 40)
18:50:06,354: TCPClient: No Error (QueueMsgCount: 39)
18:50:06,434: TCPClient: No Error (QueueMsgCount: 38)
18:50:06,494: TCPClient: No Error (QueueMsgCount: 37)
18:50:06,557: TCPClient: No Error (QueueMsgCount: 36)
18:50:06,625: TCPClient: No Error (QueueMsgCount: 35)
18:50:06,686: TCPClient: No Error (QueueMsgCount: 34)
18:50:06,757: TCPClient: No Error (QueueMsgCount: 33)
18:50:06,812: TCPClient: No Error (QueueMsgCount: 32)
18:50:06,874: TCPClient: No Error (QueueMsgCount: 31)
18:50:06,939: TCPClient: No Error (QueueMsgCount: 30)
18:50:07,001: TCPClient: No Error (QueueMsgCount: 29)
18:50:07,063: TCPClient: No Error (QueueMsgCount: 28)
18:50:07,129: TCPClient: No Error (QueueMsgCount: 27)
18:50:07,191: TCPClient: No Error (QueueMsgCount: 26)
18:50:07,255: TCPClient: No Error (QueueMsgCount: 25)
18:50:07,331: TCPClient: No Error (QueueMsgCount: 24)
18:50:07,392: TCPClient: No Error (QueueMsgCount: 23)
18:50:07,456: TCPClient: No Error (QueueMsgCount: 25)
18:50:07,519: TCPClient: No Error (QueueMsgCount: 24)
18:50:07,611: TCPClient: No Error (QueueMsgCount: 23)
18:50:07,676: TCPClient: No Error (QueueMsgCount: 22)
18:50:07,739: TCPClient: No Error (QueueMsgCount: 21)
18:50:07,805: TCPClient: No Error (QueueMsgCount: 20)
18:50:07,868: TCPClient: No Error (QueueMsgCount: 19)
18:50:07,929: TCPClient: No Error (QueueMsgCount: 18)
18:50:07,992: TCPClient: No Error (QueueMsgCount: 17)
18:50:08,057: TCPClient: No Error (QueueMsgCount: 16)
18:50:08,118: TCPClient: No Error (QueueMsgCount: 15)
18:50:08,180: TCPClient: No Error (QueueMsgCount: 14)
18:50:08,253: TCPClient: No Error (QueueMsgCount: 13)
18:50:08,307: TCPClient: No Error (QueueMsgCount: 12)
18:50:08,376: TCPClient: No Error (QueueMsgCount: 11)
18:50:08,433: TCPClient: No Error (QueueMsgCount: 10)
18:50:08,496: TCPClient: No Error (QueueMsgCount: 9)
18:50:08,560: TCPClient: No Error (QueueMsgCount: 8)
18:50:08,624: TCPClient: No Error (QueueMsgCount: 7)
18:50:08,688: TCPClient: No Error (QueueMsgCount: 6)
18:50:08,750: TCPClient: No Error (QueueMsgCount: 5)
18:50:08,838: TCPClient: No Error (QueueMsgCount: 4)
18:50:08,892: TCPClient: No Error (QueueMsgCount: 3)
18:50:08,956: TCPClient: No Error (QueueMsgCount: 2)
18:50:09,020: TCPClient: No Error (QueueMsgCount: 1)
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
 


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 00:49 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