Jeg har en agent, som udskriver dokumenter fra et view. Jeg har i agenten lavet noget fejlhåndtering, som skal sende koden ned til noget andet kode i tilfælde af fejl. jeg har brugt følgende kode:
On Error Goto ErrorHandler . . . . . ErrorHandler: Msgbox "Errorhandler er kaldt !!"
Mit problem er at fejlene ikke bliver fanget af min kode. Hvis jeg fx har en fejl med at en form til et af dokumenterne ikke eksisterer, kommer programmet med nogle dialogbokse som man kan trykke ok til. Men koden kommer aldrig til min fejlhåndtering.
Er der nogen der kan give mig en forklaring på dette og eventuelt forklare hvordan jeg kan opsamle alle fejl ??
Det burde virke. Det er dog ikke alle fejl, der får Notes til at stoppe op i koden. Men prøv det her på f.eks. en knap: On Error Goto errorhandler Dim db As NotesDatabase Msgbox db.Title Exit Sub errorhandler: Msgbox "errorhandler" Exit Sub Det vil altid virke, hvis der f.eks. er en objektvariabel, der ikke er sat. I det her tilfælde variablen db.
Jeg kan godt få koden til at opsamle nogle fejl, som den du beskriver. Mit problem er at der er en række fejl den ikke håndterer, og det er dem jeg gerne vil have fat i. Mit problem er at der bare kommer en dialogboks på skærmen og koden fortsætter ikke før der bliver trykket OK på boksen... Jeg vil meget gerne have koden til at fortsætte, ellers bliver resten af dokumenterne ikke håndteret før der bliver trykket OK.
Du kan overveje at benytte OpenLog, en rigtig god lognings- og fejlhåndteringsapplikation til Domino/Notes. Det er open source, så det koster ikke noget. Se linket her:
Fejlen opstå fx hvis der skal udskrives et dokument, hvor formen ikke længere eksisterer i databasen. Der bliver udskrevet med kaldet "Call uiview.Print(1)" og herefter kommer der nogle fejl-dialogbokse på skærmen. Når man har trykket ok til dialogboksene fortsætter programmet bare. Man kommer aldrig ned i fejlhåndteringen.
Kan det være fordi du evt. mangler Include "lserr.lss" Ellers kan du - hvis du ved hvilke fejl der kan opstå, såsom en manglende form - tage forbehold for dem i koden.
Visse fejl, specielt nogle knyttet til UI-handlinger, kan ikke fanges. Problemet er jo at det ikke er selve LotusScript der fejler, men i dette tilfælde en Core-funktion. Hvis du f.eks. kaldte LS doc.ComputeWithForm, så ville den måske fejle, men UI-print, som kræver at en formular findes, det er desværre et grænsetilfælde.
En anden fejl kan også være at der ikke kan skabes forbindelse til printeren, altså er det fejl som ikke kan knyttes til LotusScript koden. Men er der ingen mulighed for at fange denne type fejl i LotusScript koden ?
Det lyder som om at "jogii" har ret i at fejl knyttet til UI-handlinger ikke kan fanges, kan det bekræftes/afkræftes...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.