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