Compartilhar via


Instrução Exit (Visual Basic)

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

Sintaxe

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

Instruções

Exit Do
Sai imediatamente do loop Do no qual ele aparece. A execução continua com a instrução após Loop. Exit Do pode ser usado somente dentro de um loop Do. Quando usado em loops Do aninhados, 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 loop For no qual ele aparece. A execução continua com a instrução após Next. Exit For pode ser usado somente dentro de um loop For...Next ou For Each...Next. Quando usado em loops For aninhados, 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 procedimento Function no qual ele aparece. A execução continua com a instrução após a instrução que chamou o procedimento Function. Exit Function pode ser usado somente dentro de um procedimento Function.

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

Exit Property
Sai imediatamente do procedimento Property no qual ele aparece. A execução continua com a instrução que chamou o procedimento Property, ou seja, com a instrução solicitando ou definindo o valor da propriedade. Exit Property pode ser usado apenas dentro do procedimento Get ou Set de uma propriedade.

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

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

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

Exit Sub
Sai imediatamente do procedimento Sub no qual ele aparece. A execução continua com a instrução após a instrução que chamou o procedimento Sub. Exit Sub pode ser usado somente dentro de um procedimento Sub.

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

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

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

Comentários

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

Exemplo 1

No exemplo a seguir, a condição de loop interrompe o loop quando a variável index é maior que 100. No entanto, a instrução If no loop faz com que a instrução Exit Do interrompa o loop quando a variável de índice for 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 da função myFunction 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 seguinte exemplo usa a Instrução Return para atribuir o valor retornado e sair da função:

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

Confira também