Ich habe einen Lotus Skript Agenten geschrieben, der im wesentlichen auf Funktionen einer eingebundenen selbsterstellten Skript Bibliothek zurückgreift. Eine Funktion innerhalb einer Klasse in dieser Bibliothek iteriert über eine NotesViewEntryCollection und versucht dabei zu jedem Dokument der Collection referenzierte Dokumente mittels GetDocumentByUNID() zu öffnen. Die jeweiligen UNID´s stehen in den Dokumenten meiner Collection.
Natürlich hat die Funktion in der Library einen eigenen Error Handler:
ErrorHdl:
Print "Fehler in libExport: cMyDataset ->doExport(): " + Error$ + ", Zeile: " + Str(Erl)
Goto NextEntry
end sub
..wobei NextEntry natürlich als Sprungmarke am Ende einer while Schleife definiert ist.
While Not entry Is Nothing
Set doc=entry.Document
...
...
NextEntry:
Set entry = vcEntries.GetNextEntry(entry)
Wend
...
Beim Lauf des Agenten passiert nun folgendes: Beim 46. Dokument der Collection kommt es bei Ausführung der folgenden Code Zeile zu einem Fehler, da irgendwo eine fehlerhafte DocumentID in einem der Dokumente steht:
...
Set AddressDoc = AddressDB.GetDocumentByUNID(Doc.AddressDocId(0))
...
Fehlermeldung:
-->Fehler in libExport: cMyDataset ->doExport(): Invalid universal id, Zeile: 1390
Soweit so gut. Bei Dokument nr. 255 kommt es aber erneut zu einem Problem mit einer falschen Dokument ID, nur wird diesmal nicht der Error Handler besagter Funktion angesprungen, sondern merkwürdigerweise der aus dem übergeordneten Agenten, aus dem heraus meine Library genutzt wird:
Fehler in MyExport ->initialize: Invalid universal id, Zeile: 59
Wer kann mir verraten warum hier nicht wieder die Error Handler direkt in der Funktion der Library angesprungen wird, sondern der des übergeordneten Agenten? Auf diese Weise kriege ich nach der zweiten Exception meine Funktion nicht sauber beendet.
Falls das Problem anhand meiner spärlichen Angaben hier nicht gelöst werden kann: Wie kann ich denn alternativ die universal id's prüfen, so dass es bei Aufruf von GetDocumentByUNID() gar nicht erst zu so einer Exception kommt?
Schöne Grüße
Peter