Exit (Instrucción, Visual Basic)
Permite salir de un procedimiento o bloque, y transfiere el control inmediatamente a la instrucción que sigue a la llamada al procedimiento o a la definición de bloque.
Sintaxis
Exit { Do | For | Function | Property | Select | Sub | Try | While }
Instrucciones
Exit Do
Sale inmediatamente del bucle Do
en el que aparece. La ejecución continúa con la instrucción que sigue a la instrucción Loop
. Exit Do
solo se puede usar dentro de un bucle Do
. Cuando se usa dentro de bucles Do
anidados, Exit Do
permite salir del bucle más interno y transfiere el control al siguiente nivel superior de anidamiento.
Exit For
Sale inmediatamente del bucle For
en el que aparece. La ejecución continúa con la instrucción que sigue a la instrucción Next
. Exit For
solo se puede usar dentro de un bucle For
...Next
o For Each
...Next
. Cuando se usa dentro de bucles For
anidados, Exit For
permite salir del bucle más interno y transfiere el control al siguiente nivel superior de anidamiento.
Exit Function
Sale inmediatamente del procedimiento Function
en el que aparece. La ejecución continúa con la instrucción que sigue a la instrucción que llamó al procedimiento Function
. Exit Function
solo se puede usar dentro de un procedimiento Function
.
Para especificar un valor devuelto, puede asignar el valor al nombre de la función en una línea antes de la instrucción Exit Function
. Para asignar el valor devuelto y salir de la función de una instrucción, puede usar la instrucción Return.
Exit Property
Permite salir inmediatamente del procedimiento Property
en el que aparece. La ejecución continúa con la instrucción que llamó al procedimiento Property
, es decir, con la instrucción que solicita o establece el valor de la propiedad. Exit Property
solo se puede usar dentro del procedimiento Get
o Set
de una propiedad.
Para especificar un valor devuelto en un procedimiento Get
, puede asignar el valor al nombre de la función en una línea antes de la instrucción Exit Property
. Para asignar el valor devuelto y salir del procedimiento Get
de una instrucción, puede usar en su lugar la instrucción Return
.
En un procedimiento Set
, la instrucción Exit Property
equivale a la instrucción Return
.
Exit Select
Permite salir inmediatamente del bloque Select Case
en el que aparece. La ejecución continúa con la instrucción que sigue a la instrucción End Select
. Exit Select
solo se puede usar dentro de una instrucción Select Case
.
Exit Sub
Permite salir inmediatamente del procedimiento Sub
en el que aparece. La ejecución continúa con la instrucción que sigue a la instrucción que llamó al procedimiento Sub
. Exit Sub
solo se puede usar dentro de un procedimiento Sub
.
En un procedimiento Sub
, la instrucción Exit Sub
equivale a la instrucción Return
.
Exit Try
Permite salir inmediatamente del bloque Try
o Catch
en el que aparece. La ejecución continúa con el bloque Finally
, si hay alguno o, en caso contrario, con la instrucción que sigue a la instrucción End Try
. Exit Try
solo se puede usar dentro de un bloque Try
o Catch
y no dentro de un bloque Finally
.
Exit While
Permite salir inmediatamente del bucle While
en el que aparece. La ejecución continúa con la instrucción que sigue a la instrucción End While
. Exit While
solo se puede usar dentro de un bucle While
. Cuando se usa dentro de bucles While
anidados, Exit While
transfiere el control al bucle que está un nivel anidado por encima del bucle donde Exit While
se produce.
Comentarios
No confunda instrucciones Exit
con instrucciones End
. Exit
no define el final de una instrucción.
Ejemplo 1
En el ejemplo siguiente, la condición de bucle detiene el bucle si la variable index
es mayor que 100. Sin embargo, la instrucción If
del bucle hace que la instrucción Exit Do
detenga el bucle si la variable de índice es mayor 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
Ejemplo 2
En el ejemplo siguiente se asigna el valor devuelto al nombre de función myFunction
y, a continuación, se usa Exit Function
para volver desde la función:
Function MyFunction(ByVal j As Integer) As Double
MyFunction = 3.87 * j
Exit Function
End Function
Ejemplo 3
En el ejemplo siguiente se usa la instrucción Return para asignar el valor devuelto y salir de la función:
Function MyFunction(ByVal j As Integer) As Double
Return 3.87 * j
End Function