AD

¿Ya dominas lo básico? Un curso estructurado de VB.NET es la vía rápida para dar el salto.

Ver cursos de VB.NET en Udemy

Enlace de afiliado. No te cuesta nada extra.

🔷Lecciones de VB.NET
Lección 50 / 68

Limpieza con Try / Catch / Finally

En esta lección ejecutarás código de limpieza tanto si hay error como si no.

El bloque Finally se ejecuta siempre: al terminar bien, al capturar un error e incluso al salir con Return.

El código de ejemplo divide dos veces y deja ver que el mensaje de cierre aparece en ambos casos.

Fíjate en el tipo de vuelta Integer?, con interrogación: es un entero anulable, que permite devolver Nothing cuando no hay resultado. Sin él habría que elegir un número que signifique «no vale», que es justo la clase de convenio que causa problemas más adelante.

Hay una regla que no conviene romper: no pongas un Return dentro de Finally. En .NET eso ni siquiera compila, precisamente porque se traga la excepción que estaba subiendo — otros lenguajes lo permiten y producen fallos que desaparecen sin dejar rastro.

Para recursos que hay que cerrar existe algo mejor: Using recurso As New ... los libera al salir del bloque pase lo que pase, sin escribir el Finally a mano. Cuando el objeto lo soporte, es siempre preferible.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar VB.NET directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)