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

Consulte también