Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: fuppy am 19.05.08 - 15:29:15

Titel: ErrorHandling Problem
Beitrag von: fuppy am 19.05.08 - 15:29:15
Hallo zusammen,

ich habe eine kleines Problem mit dem ErrorHandling in LS. Die Suche habe ich schon gemüht, leider aber dazu nichts gefunden, weil ich auch denke, dass das Probleme eigentlich so banal ist, dass es bis jetzt keiner angesprochen hat.

Nun zu meinem Problem:

Ich möchte in einem Skript genau zwei Fehlersituationen abfangen, zum einen eine mit dem Fehlercode 9, die andere mit Fehlercode 4294

Hier mein Code:

Code
On Error 9 GoTo ErrorHandler9
On Error 4294 GoTo ErrorHandler4294

....

ErrorHandler9:
        'Mailverschicken 
         Exit Sub

ErrorHandler4294:
        'Mailverschicken
         Resume Next


Bei dem Errorcode 9 soll er komplett abbrechen, beim Errorcode 4294 soll er mir nur bescheidgeben, aber trotzdem weitermachen.

Lass ich jetzt das Skript durchlaufen, bekomm ich, obwohl das Skript nicht auf solch einen Fehler läuft, eine Mail dem Fehlercode 0. Im Log finde ich die Meldung: RESUME without error

Wieso springt das Programm in einen der beiden Errorhandler, wenn der Errorcode 0 ist?

Könntet ihr mir vielleicht helfen rauszufinden, an was das liegt?

Vielen Dank!

fuppy
Titel: Re: ErrorHandling Problem
Beitrag von: m3 am 19.05.08 - 15:34:04
Ich gehe davon aus, dass VOR den beiden Errorhandlern ein "Exit Sub" steht?
Titel: Re: ErrorHandling Problem
Beitrag von: Axel am 19.05.08 - 15:34:38
Ohne den gesamten Code zu kennen, tippe ich mal darauf, dass dir ein Exit Sub fehlt.

Sub NamederRoutine(...

On Error 9 GoTo ErrorHandler9
On Error 4294 GoTo ErrorHandler4294

....

Exit Sub

ErrorHandler9:
        'Mailverschicken
         Exit Sub

ErrorHandler4294:
        'Mailverschicken
         Resume Next

End Sub

Zum Thema Fehlerbehandlung gibt's hier Error Handling in Lotus Script (http://atnotes.de/index.php?topic=11980.0) eine ganze Menge Infos.


Axel
Titel: Re: ErrorHandling Problem
Beitrag von: DerAndre am 19.05.08 - 15:40:27
Wie Axel. Aber es wird nur auf Error 4294 reagiert.

On error goto errhandle

.
.
.
.

Errhandle:   
   ' Use the Err function to return the error number and
   ' the Error$ function to return the error message.
   Select Case Err
   Case 0   
           'No Error
        Case 9
            ' deine Aktion   
        Case 4294
       ' deine Aktion
        Case Else   ' Notes Error
      
      ' Anderer Fehler
      
   End Select
Titel: Re: ErrorHandling Problem
Beitrag von: fuppy am 19.05.08 - 15:42:39
Hi,

danke für all die schnellen Antworten!

Es war das Exit Sub

Ich sagte ja schon, banal...  ;)

Danke euch allen nochmals!

Schönen Tag noch!

Ciao
Titel: Re: ErrorHandling Problem
Beitrag von: Axel am 19.05.08 - 15:48:35
Wie Axel. Aber es wird nur auf Error 4294 reagiert.

Warum?

Axel
Titel: Re: ErrorHandling Problem
Beitrag von: koehlerbv am 19.05.08 - 15:49:38
On Error Goto ErrorHandler4294 überschreibt die vorangehende On Error-Anweisung. Es kann immer nur eine On Error-Anweisung aktiv sein.

Bernhard
Titel: Re: ErrorHandling Problem
Beitrag von: DerAndre am 19.05.08 - 15:50:22
Ich war bis jetzt immer der Meinung, das ein OnError ein anderes Überschreibt...
Titel: Re: ErrorHandling Problem
Beitrag von: koehlerbv am 19.05.08 - 15:53:00
Das war Blödsinn, was ich geschrieben habe. Mitt Angabe des Fehlercode geht es auch mit mehreren ...

Bernhard
Titel: Re: ErrorHandling Problem
Beitrag von: DerAndre am 19.05.08 - 16:06:02
Ah Ok. Was gelernt.