Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi EncodeDateWeek -> Fehlerbehandlung (https://www.delphipraxis.net/144588-encodedateweek-fehlerbehandlung.html)

HolgerCW 11. Dez 2009 15:07


EncodeDateWeek -> Fehlerbehandlung
 
Hallo zusammen,

wie kann ich die Fehlermeldung von EncodeDateWeek abfangen ?

Wenn ich folgendes tue:

Delphi-Quellcode:
Datum := EncodeDateWeek(2010,53,1)
klappt das nicht, da es keinen Montag der 53 KW im Jahr 2010 gibt.

Wie kann ich aber die Fehlermeldung abfangen ?

Ich möchte dann nämlich als nächstes versuchen EncodeDateWeek(2010,53,2) abzufragen, bis es dann ein gültiges Datum gibt oder eventuell auch nicht.

Gruss

Holger

mkinzler 11. Dez 2009 15:10

Re: EncodeDateWeek -> Fehlerbehandlung
 
Delphi-Quellcode:
try
   ...
except

HolgerCW 11. Dez 2009 15:13

Re: EncodeDateWeek -> Fehlerbehandlung
 
Ok, aber ...

Delphi-Quellcode:

I:= 1

try
 EncodeDateWeek(strtoint(meinJahr), KW, I);
except
 I:=I+1;
 //Nun versuche es nochmal
end;
Wie kann ich nun den try ... except - Block nochmal ausführen ?

mkinzler 11. Dez 2009 15:16

Re: EncodeDateWeek -> Fehlerbehandlung
 
Delphi-Quellcode:
ok := false;
while not ok do
begin
  I:= 1
  try
  begin
    EncodeDateWeek(strtoint(meinJahr), KW, I);
    ok := true;
  end;
  except
    I:=I+1;
//Nun versuche es nochmal
end;

HolgerCW 11. Dez 2009 15:32

Re: EncodeDateWeek -> Fehlerbehandlung
 
Danke,

aber leider springt er nur einmal zurück.

Wenn I dann 2 ist geht er nicht zum except, sondern wirft den Fehler.

Woran könnte das liegen ?

Das ist mein Code:

Delphi-Quellcode:
KW := WeekOfTheYear(meinDatum);
   I := 1;
   OK := False;

   While not OK do
   begin

    try
     begin

      EncodeDateWeek(strtoint(meinJahr), KW, I);
      OK := True;

     end;
    except
     I:=I+1;
     If I = 7 then
     begin

      If KW = 1 then KW := 2;
      If KW = 53 then KW := 1;
      If KW = 54 then KW := 1;
      I:= 1;

     end;

    end;

   end;
Mein Fehler. Ich muss den Exception-Typ im Debug-Modus auch ignorieren

Ist gelöst. Danke


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