Avatar billede palle1976 Nybegynder
27. marts 2007 - 13:12 Der er 8 kommentarer

Fejl bliver ikke håndteret

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 ??
27. marts 2007 - 13:30 #1
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.
Avatar billede palle1976 Nybegynder
27. marts 2007 - 13:34 #2
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.
27. marts 2007 - 13:45 #3
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:

http://www.openntf.org/Projects/pmt.nsf/ProjectLookup/OpenLog
27. marts 2007 - 13:51 #4
Kan du komme med et eksempel på koden og den fejlbesked du får?
Avatar billede palle1976 Nybegynder
27. marts 2007 - 14:17 #5
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.
Avatar billede mmmtm Nybegynder
27. marts 2007 - 17:28 #6
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.
Avatar billede jogii Nybegynder
27. marts 2007 - 23:07 #7
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.
Avatar billede palle1976 Nybegynder
28. marts 2007 - 09:08 #8
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...
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester