Domino 9 und frühere Versionen > ND6: Entwicklung

Agent: Automatisches Verschicken von Mails mit Anhang

<< < (4/4)

margli:
Hallo
habe noch ein kleines Problem mit meinem Programm. Das Programm bricht immer ab, wenn der Ordner, der eigentlich vorhanden sein sollte, nicht vorhanden ist. Dieser soll dann aber einfach nur übersrprungen werden und mit dem nächsten Eintrag fortgefahren werden.

         pathName$ = "z:\"+gebietsnr+"\"      
         If Len(Trim(Dir$(pathname$,16))) > 0 Then
            fileName$ = Dir$(pathName$, 0)
            Do While fileName$ <> ""
               Print fileName$   
               
               Call m.Attachment(pathName$ + fileName$)
               fileName$ = Dir$()
            Loop

So dachte ich eigentlich, dass ich das lösen könnte. Also wenn ein pfadname vorhanden ist, dann führt er den loop aus. leider klappt es ned und er sagt trotzdem ab einer bestimmten Stelle, Pfad nicht gefunden

cubetoon:
Hi margli,
etwas Errorhandling muss schon sein.
Du hast garantiert in Deiner gebietsnr irgendwann einen Wert, den es eben nicht als Verzeichnis gibt. Dies gilt es vorauszusehen und entsprechendes Errorhandling mit On Eroor ... zu betreiben.
Viele Grüße
Cubetoon

koehlerbv:
ErrorHandling muss immer sein. Lieber zuviel als zuwenig.

Dir$ (DeinLaufwerk:\DeinVerzeichnis\*) ergibt einen Laufzeitfehler, wenn es dieses Verzeichnis nicht gibt. Du kannst auf Grund dieser Tatsache vor dem Dir$ in eine Fehlerroutine (verinfachtes Verfahren !) verzweigen lassen, die folgendes macht:
- eine boolsche Variable setzen, die den Fehlerzustand signalisiert und dann
- ein Resume Next ausführt.
In der nächsten Zeile (die Resume Next ansteuert), fragst Du dann die boolsche Variable ab - oder machst eben nix mehr bis zum nächsten Verzeichnis.
Nicht vergessen, die boolsche Variable zurückzusetzen, bevor Du Deine Abfrage machst -. nicht, dass die nach einem Fehlversuch immer auf False bleibt ;-)

HTH,
Bernhard

margli:
Hi. Danke erstmal für die Tipps. Wie kann ich dann mir den Fehlerzustand signalisieren lassen? Bin im Bereich ErrorHandling total unerfahren.

Semeaphoros:
Hier gibt es viele Infos zum Errorhändling:

http://www.atnotes.de/index.php?board=27;action=display;threadid=11980

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln