Exit-Anweisung

Mit der Anweisung Exit können Sie jede Schleife, jede Select...Case- oder Try...Catch-Anweisung wie auch Funktionen, Methoden oder Regeln beenden. Die Exit-Anweisung muss sich innerhalb des in der Anweisung angegebenen Blocktyps befinden: Exit For muss in einem For-Loop enthalten sein, Exit While in einem While-Loop usw.

Wenn der Wert des load-Parameters im folgenden Beispiel den Grenzwert überschreitet, wird die While-Schleife beendet und die Steuerung geht an die Anweisung End While über.

Parameter Rule unitWeight As Integer = 5

Rule load As Number
   Dim counter As Integer = 1
   Dim limit As Number = 25.0
   While counter <= 10
      load = load + unitWeight
      If load > limit Then
         printValue("Warning: “ + stringValue(limit) + "kg limit exceeded!")
         Exit While
      End If
      counter = counter + 1
   End While
End Rule

Eine ähnliche Technik wird auch zum Beenden der Do- und For-Loop-Konstrukte verwendet:

‘Exit from a Do loop.
Exit Do

‘Exit from a For loop.
Exit For

Die Exit-Anweisung kann auch zum Verlassen einer Select...Case-Anweisung verwendet werden. Im folgenden Beispiel wird die Select...Case-Anweisung beendet, wenn der Select-Ausdruck einem der Werte in der ersten Case-Klausel entspricht.

Select nTeeth
   ‘exit if number is within range, 18-25
   Case 18, 21, 25
      Exit Select
   Case 15
      description = "15 Tooth Sprocket (custom)"
      printValue("description = 15 Tooth Sprocket (custom)")
   Case 28
      description = "28 Tooth Sprocket (custom)"
      printValue("description = 28 Tooth Sprocket (custom)")
   Case Else
      description = "out of range"
      printValue("description = Invalid value. " + stringValue(nTeeth) _
         + " teeth - " + description)
End Select

Auch zum Verlassen einer Try...Catch-Anweisung kann eine Exit-Anweisung verwendet werden. Exit Try ist in jeder Klausel zulässig (Try, Catch, Finally). Wenn ein Finally-Block vorhanden ist, wird dieser unabhängig vom Vorhandensein einer Exit Try-Anweisung in einer Try- oder Catch-Klausel auf jeden Fall ausgeführt.

Try
   If x < 4 Then
      Exit Try
   Else
      Error
   End If
Catch Error
   printValue("Value exceeds limit.")
Finally
   printValue("x = " + stringValue(x))
End Try

Wenn eine Exit-Anweisung im Hauptteil einer Methode, Funktion oder Regel verwendet wird, wird die Steuerung wieder dem aufrufenden Ausdruck übergeben.

Der Rückgabewert muss zu dem Zeitpunkt, zu dem Exit auftritt, bereits bestimmt worden sein. Andernfalls wird ein Fehler generiert.

‘Exit from a function.
Exit Function

‘Exit from a method.
Exit Method

‘Exit from a rule.
Exit Rule