AD

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

Ver cursos de C# en Udemy

Enlace de afiliado. No te cuesta nada extra.

#️⃣Lecciones de C#
Lección 50 / 68

Limpieza con try/catch/finally

En esta lección te asegurarás de liberar recursos aunque haya un error.

El bloque finally se ejecuta siempre, haya excepción o no. Es donde tradicionalmente se cierran archivos y conexiones.

El código de ejemplo muestra el orden en que se ejecutan las tres partes.

En C# hay una forma mejor para los recursos: using (var f = File.OpenRead(ruta)) { ... } llama automáticamente a Dispose() al salir del bloque, incluso si salta una excepción. Desde C# 8 se puede escribir sin llaves, using var f = ...;, y el recurso se libera al final del ámbito.

Un aviso concreto: no pongas un return dentro de finally. Descarta cualquier excepción que estuviera propagándose, y el error desaparece sin dejar rastro. Es de los fallos más difíciles de diagnosticar que se pueden escribir.

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

🧪 Este sitio no puede compilar ni ejecutar C# 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)