AD

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

Ver cursos de Ruby en Udemy

Enlace de afiliado. No te cuesta nada extra.

💎Lecciones de Ruby
Lección 10 / 68

Gestión de errores (begin...rescue)

En esta lección harás que el programa siga funcionando cuando algo va mal, en vez de detenerse.

raise "mensaje" lanza un error. begin ... rescue => e ... end lo captura: si dentro del begin salta algo, la ejecución pasa al rescue y e.message te da el texto.

El código de ejemplo divide dos veces; la segunda tiene divisor cero, así que el error se captura y el programa termina con normalidad.

Lo importante es qué captura un rescue a secas: solo los errores que heredan de StandardError, que son los errores normales de un programa. No captura cosas como quedarse sin memoria o la interrupción con Ctrl+C, y eso es deliberado: esos no deben silenciarse. Escribir rescue Exception sí lo atrapa todo, y por eso mismo casi nunca es lo que quieres.

La regla en producción es no capturar de forma genérica sin registrar el error. Un rescue que se traga la excepción y no deja rastro convierte un fallo visible en un fallo silencioso, que es mucho peor de diagnosticar.

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

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