Domino 9 und frühere Versionen > ND6: Entwicklung

Interessanter BUG beim ErrorHandling

(1/1)

bikerboy:
Hallo liebe Gemeinde bin da gerade über etwas gestolpert:

Bei einer Fehlerbeahndlung ist mir aufgefallen, dass er den selben Fehler mal abfängt mal auf nen Poller läuft.

Hier der Code der nicht immer funktioniert :



--- Code: --- For i = Lbound(vDatabases) To Ubound(vDatabases)

strPath = vDatabases(i)

On Error Goto NextDatabase

Set dbCurrent = s.GetDatabase(strServer,strPath)

If dbCurrent.IsOpen Then

If CreateDBDocument(dbCurrent, dbThis) Then
Print Cstr(i) + " Datenbanken bearbeitet"
End If

End If


NextDatabase :
Next

--- Ende Code ---


und hier der Code der funktioniert :



--- Code: --- For i = Lbound(vDatabases) To Ubound(vDatabases)

strPath = vDatabases(i)

On Error Goto ErrorMark

Set dbCurrent = s.GetDatabase(strServer,strPath)

If dbCurrent.IsOpen Then

If CreateDBDocument(dbCurrent, dbThis) Then
Print Cstr(i) + " Datenbanken bearbeitet"
End If

End If


NextDatabase :
Next

ErrorMark :
Resume NextDatabase


--- Ende Code ---


Warum klappt es bei der 2. Version und bei der ersten nur einmal ???

koehlerbv:
Ganz simpel - in Variante 1 löst Du den Fehlerzustand ja nicht auf, Err ist nach wie vor <> 0. In Variante 2 verwendest Du Resume, was explizit den Fehlerzustand "vernichtet".

Works as designed and described.

Bernhard

bikerboy:
Alles klar wieder was gelernt

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln