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 /Ecept in eine for schleife (https://www.delphipraxis.net/69257-try-ecept-eine-schleife.html)

Karstadt 12. Mai 2006 14:01


Try /Ecept in eine for schleife
 
Delphi-Quellcode:
     Try
      begin
        //Nachrichten werden "gelesen"
        for i:=1 to idPOP31.CheckMessages do
        begin
          idPOP31.Retrieve(i, IdMessage1);
          //Betreff
          LogMem(IdMessage1.Subject);
          Speicherortteam := IdMessage1.Subject;
          LogMem('Diese E-mail wird heruntergeladen');
          for intIndex := 0 to Pred(IdMessage1.MessageParts.Count) do
          begin
            //Wenn E-Mail mit Anhang
            if (IdMessage1.MessageParts.Items[intIndex] is TIdAttachment) then
            begin
              Dateiname := TIdAttachment(IdMessage1.MessageParts.Items[intIndex]).Filename;
              LogMem('Datei '+Speicherort+Dateiname+' wurde gespeichert');
              TIdAttachment(IdMessage1.MessageParts.Items[intIndex]).SaveToFile(Speicherort+Dateiname);
              LogMem('Datei '+Speicherort+Dateiname+' wird entpackt');

              end; // END IF
            end; // END IF
          end; // END I

          idpop31.Delete(i);
          IdMessage1.Clear; //Wichtig, sonst bleibt der immer an eine E-mail hängen!
          LogMem('Nächste Nachricht');
        end; // END I ( EMAILS)

        idpop31.disconnect;
        LogMem('Verbindung zum Pop3 wurde getrennt!');

      end; // Try
      except
        on e:exception do
        begin
          idPOP31.Disconnect;
          beep;
          LogMem('______________________________________');
          LogMem(Trim('Fehler: '+e.Message));
          LogMem('______________________________________');
          Continue;
        end;
      end; //END TRY
Die Fehler wird nicht unterdrückt sonder als MELDUNG angezeigt. warum?

RavenIV 12. Mai 2006 14:10

Re: Try /Ecept in eine for schleife
 
bist du vielleicht im debug-Modus und hast eingestellt, dass Exceptions angezeigt werden sollen?
Dann kommen die Exceptions nämlich trotz try...except.
Wenn Du das exe ausführst, kommen die Exceptions nicht.

Karstadt 12. Mai 2006 14:12

Re: Try /Ecept in eine for schleife
 
..ich meine ich führ die EXE (ohne delphi) aus.. und es kommt die exception... in eine Fenster.

jim_raynor 12. Mai 2006 14:14

Re: Try /Ecept in eine for schleife
 
Sicher dass die Exception in diesem Teil auftritt? Vielleicht ist, die Exception auch garnicht von Exception abgeleitet. Was zwar sehr unwahrscheinlich ist, aber nicht unmöglich.

Karstadt 12. Mai 2006 14:15

Re: Try /Ecept in eine for schleife
 
...ich glaube ich habe es...

in exception führe ich das aus

idPOP31.Disconnect; das führt zu eine Modale fehlermeldung.. oder?


PS: Fehler tritt auf wenn keine Internetverbindung besteht..

sh17 12. Mai 2006 14:17

Re: Try /Ecept in eine for schleife
 
was kleiners als Exception gibts nicht.

Aber vielleicht ist der Fehler keine Exception, das gibts.

Karstadt 12. Mai 2006 14:22

Re: Try /Ecept in eine for schleife
 
Delphi-Quellcode:
      except
        on e:exception do
        begin
          idPOP31.Disconnect; // Tritt hier ein Modales Fehler auf oder nicht?
Hallo. kann mir das jemand beanworten?

Fehler: Keine Verbindung zum internet.

Ich habe jetzt diese zeile idPOP31.Disconnect; weggelassen und das scheint zu funktionieren.

Die Fehlermeldung lautet.. Socketfehler.. klar keine verbindung...

ManuMF 12. Mai 2006 14:26

Re: Try /Ecept in eine for schleife
 
Hallo,

soweit ich mich erinnere, kann man allgemein keine Fehler bei Indy per try...except abfangen. Delphi arbeitet zwar den except-Block ab, aber eine Meldung kommt trotzdem.

Gruß,
ManuMF

Karstadt 12. Mai 2006 14:32

Re: Try /Ecept in eine for schleife
 
das stimmt nicht. Bei mir wird jede Fehler angezeigt (abgefangen). Das Problem ist jetzt behoben :)


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