프로시저의 지정된 줄에 무조건 분기합니다.
문법
GoTo line
부분
line
필수 사항입니다. 모든 줄 레이블입니다.
비고
문은 GoTo 표시되는 프로시저의 줄로만 분기할 수 있습니다. 줄에 참조할 수 있는 줄 레이블이 GoTo 있어야 합니다. 자세한 내용은 방법: 레이블 문을 참조하세요.
비고
GoTo 문을 사용하면 코드를 읽고 유지 관리하기가 어려울 수 있습니다. 가능하면 컨트롤 구조를 대신 사용합니다. 자세한 내용은 제어 흐름을 참조하세요.
문을 사용하여 GoTo 외부에서 분기할 수 없습니다.End SyncLockFor EachCatchNextNextSyncLockTryFor...Finally, With...End With, 또는 UsingEnd Using 내부의 레이블에 생성.
분기 및 시공 시도
내 ...TryCatch...Finally 생성, 다음 규칙은 문을 사용하여 분기에 GoTo 적용됩니다.
| 차단 또는 지역 | 외부에서 분기 | 내부에서 분기 |
|---|---|---|
Try 블록 |
동일한 생성 1의 블록에서 Catch 만 |
전체 건설 외부에만 |
Catch 블록 |
허용되지 않습니다. | 전체 시공 외부 또는 Try 동일한 시공의 블록 에만 1 |
Finally 블록 |
허용되지 않습니다. | 허용되지 않습니다. |
1 하나 Try인 경우 ...Catch...Finally 생성은 다른 Catch 블록 내에 중첩되고 블록은 자체 중첩 수준에서 블록으로 Try 분기할 수 있지만 다른 Try 블록에는 분기할 수 없습니다. 중첩 ...TryCatch...Finally 생성은 중첩된 생성의 또는 Catch 블록에 완전히 Try 포함되어야 합니다.
다음 그림에서는 한 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
참고하십시오
.NET