Ein Kollege hatte ein größeres Makro in VBScript geschrieben und ein interessantes Problem dabei entdeckt. Ich mache mal ein Ratespiel daraus 😉
Was ist faul mit diesem VBScript-Code?
On Error Resume Next
If MyFunction() Then
MsgBox "MyFunction succedded"
Else
MsgBox "MyFunction failed"
End If
MsgBox "... continue execution ..."
Function MyFunction
MsgBox "Start MyFunction"
On Error Goto 0
...
MsgBox "End MyFunction"
Test = true
End Function
MyFunction wird niemals einen Rückgabewert enthalten.
Ein evt. vorhanderer Fehler in MyFunction() wird wahrscheinlich von „On Error Resume Next“ behandelt und macht mit der nächsten Anweisung weiter.
Wahrscheinlich ist das MsgBox „MyFunction succeded“
Ohne es auszuprobieren, aber is ja auch nen Ratespiel
Sieht sehr nach einer Endlosschleife aus, sobald ein Fehler zwischen Zeile 10 und 12 auftritt.
@Thommy: Das es keinen Rückgabewert gibt ist kein Problem hier.
@Torsten: Nein! Das Skript läuft normal durch.
@Tony: ❗ Bingo ❗
Auflösung morgen oder übermorgen 🙂