Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Ветви безусловно к указанной строке в процедуре.
Синтаксис
GoTo line
Часть
line
Обязательное. Любая метка строки.
Замечания
Оператор GoTo может ветвиться только к строкам в процедуре, в которой она отображается. Строка должна иметь метку строки, на которую GoTo можно ссылаться. Дополнительные сведения см. в разделе "Практическое руководство. Инструкции меток".
Замечание
GoTo операторы могут затруднить чтение и обслуживание кода. По возможности используйте вместо этого структуру управления. Дополнительные сведения см. в разделе "Поток управления".
Оператор нельзя использовать GoTo для ветвления вне For...Next, ...Next, For Each..., ...End SyncLockCatchSyncLockTry..., With...End WithFinally, или Using...End Using строительство в метку внутри.
Ветвление и попробовать конструкции
TryВнутри ...Catch...Finally построение, следующие правила применяются к ветвлениям с помощью инструкцииGoTo.
| Блокировка или регион | Ветвление извне | Ветвление изнутри |
|---|---|---|
блок Try |
Только из Catch блока того же строительства 1 |
Только вне всей конструкции |
блок Catch |
Никогда не разрешено | Только за пределами всей конструкции, или к Try блоку одного и того же строительства 1 |
блок Finally |
Никогда не разрешено | Никогда не разрешено |
1 Если один Try...Catch...Finally конструкция вложена в другой блок, Catch блок может ветвь в Try блок на своем уровне вложения, но не в любой другой Try блок. Вложенный Try...Catch...Finally конструкция должна быть полностью размещена в TryCatch блоке конструкции, в которой она вложена.
На следующем рисунке показана одна Try конструкция, вложенная в другую. Различные ветви между блоками двух конструкций указываются как допустимые или недопустимые.
Пример
В следующем примере оператор используется для GoTo ветвления к строкам меток в процедуре.
Sub GoToStatementDemo()
Dim number As Integer = 1
Dim sampleString As String
' Evaluate number and branch to appropriate label.
If number = 1 Then GoTo Line1 Else GoTo Line2
Line1:
sampleString = "Number equals 1"
GoTo LastLine
Line2:
' The following statement never gets executed because number = 1.
sampleString = "Number equals 2"
LastLine:
' Write "Number equals 1" in the Debug window.
Debug.WriteLine(sampleString)
End Sub