Как выйти из вложенного подпрограммы, используя одну строку VB6? - PullRequest
0 голосов
/ 11 июля 2019

Мне было интересно, существует ли упрощенный способ выхода из Sub (Sub1) из другого Sub (Sub2), который является вложенным; Итак, Sub2 вызывается внутри Sub1, и если проверка не проходит в Sub, я также хотел бы выйти из Sub1?

Sub Process()
    Validate()

    'SomeMorecode...

End Sub

Sub Validate()
    '...
    '...


End Sub

1 Ответ

6 голосов
/ 11 июля 2019

Во-первых, вы должны понимать, что подпрограммы не возвращают значения.Они похожи на void функции в C.

Во-вторых, используйте Exit Sub всякий раз, когда вы хотите выйти из определенной подпрограммы.

В качестве альтернативы, если вы хотите выйти из функции,используйте Exit Function

Или, если вы хотите выйти из Do Loop, Exit Do Exit While и т. д.

Имейте в виду, что если вы делаете Exit Function до того, как на самом делевозвращая что-либо, тогда автоматически будет установлено значение по умолчанию.В случае логических значений значение будет False.

Вы поняли

Sub MyFirstSub()
    If Validate() Then
       'Do more work here
    Else
       Exit Sub  ' Early Exit
    End If

    'Other things to do after validation is TRUE
    '...
    '...

End Sub

Function Validate() As Boolean
   ' Do validation here and either return TRUE or FALSE
   If Rnd(1) > 0.5 Then
     Validate = True
   Else
     Validate = False
   End If
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...