다음을 통해 공유


GoTo 문

프로시저의 지정된 줄에 무조건 분기합니다.

문법

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 생성이 다른 생성에 중첩되어 있는 것을 보여 줍니다. 두 구문의 블록 간에 다양한 분기가 유효하거나 유효하지 않은 것으로 표시됩니다.

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

참고하십시오