Partilhar via


Instrução de saída (Visual Basic)

Sai de um procedimento ou bloco e transfere o controle imediatamente para a instrução após a chamada de procedimento ou a definição de bloco.

Sintaxe

Exit { Do | For | Function | Property | Select | Sub | Try | While }

Extratos

Exit Do
Sai imediatamente do Do loop em que aparece. A execução continua com a declaração após a Loop declaração. Exit Do pode ser usado apenas dentro de um Do loop. Quando usado em loops aninhados Do , Exit Do sai do loop mais interno e transfere o controle para o próximo nível superior de aninhamento.

Exit For
Sai imediatamente do For loop em que aparece. A execução continua com a declaração após a Next declaração. Exit For pode ser usado apenas dentro de um For...Next ou For Each...Next loop. Quando usado em loops aninhados For , Exit For sai do loop mais interno e transfere o controle para o próximo nível superior de aninhamento.

Exit Function
Sai imediatamente do Function procedimento em que aparece. A execução continua com a declaração após a declaração que chamou o Function procedimento. Exit Function só pode ser utilizado no interior de um Function procedimento.

Para especificar um valor de retorno, você pode atribuir o valor ao nome da função em uma linha antes da Exit Function instrução. Para atribuir o valor return e sair da função em uma instrução, você pode usar a Return Statement.

Exit Property
Sai imediatamente do Property procedimento em que aparece. A execução continua com a declaração que chamou o Property procedimento, ou seja, com a declaração solicitando ou definindo o valor do imóvel. Exit Property pode ser usado apenas dentro de Get um imóvel ou Set procedimento.

Para especificar um valor de retorno em um Get procedimento, você pode atribuir o valor ao nome da função em uma linha antes da Exit Property instrução. Para atribuir o valor de retorno e sair do Get procedimento em uma instrução, você pode usar a Return instrução.

Em um Set procedimento, a Exit Property declaração é equivalente à Return declaração.

Exit Select
Sai imediatamente do Select Case bloco em que aparece. A execução continua com a declaração após a End Select declaração. Exit Select só pode ser usado dentro de uma Select Case instrução.

Exit Sub
Sai imediatamente do Sub procedimento em que aparece. A execução continua com a declaração após a declaração que chamou o Sub procedimento. Exit Sub só pode ser utilizado no interior de um Sub procedimento.

Em um Sub procedimento, a Exit Sub declaração é equivalente à Return declaração.

Exit Try
Sai imediatamente do Try ou Catch bloco em que aparece. A execução continua com o Finally bloco, se houver, ou com a instrução após a End Try instrução de outra forma. Exit Try pode ser usado apenas dentro de um Try bloco ou Catch e não dentro de um Finally bloco.

Exit While
Sai imediatamente do While loop em que aparece. A execução continua com a declaração após a End While declaração. Exit While pode ser usado apenas dentro de um While loop. Quando usado em loops aninhados, Exit While transfere While o controle para o loop que está um nível aninhado acima do loop onde Exit While ocorre.

Observações

Não confunda Exit declarações com End declarações. Exit não define o final de uma instrução.

Exemplo 1

No exemplo a seguir, a condição de loop interrompe o loop quando a index variável é maior que 100. A If instrução in the loop, no entanto, faz com que a Exit Do instrução pare o loop quando a variável index é maior que 10.

Dim index As Integer = 0
Do While index <= 100
    If index > 10 Then
        Exit Do
    End If

    Debug.Write(index.ToString & " ")
    index += 1
Loop

Debug.WriteLine("")
' Output: 0 1 2 3 4 5 6 7 8 9 10 

Exemplo 2

O exemplo a seguir atribui o valor de retorno ao nome myFunctionda função e, em seguida, usa Exit Function para retornar da função:

Function MyFunction(ByVal j As Integer) As Double
    MyFunction = 3.87 * j
    Exit Function
End Function

Exemplo 3

O exemplo a seguir usa a instrução Return para atribuir o valor return e sair da função:

Function MyFunction(ByVal j As Integer) As Double
    Return 3.87 * j
End Function

Consulte também