Lección 17 / 20

Gestión de errores (try/catch)

En esta lección harás que el programa reaccione a un error en lugar de terminar de golpe.

El código que puede fallar va dentro de try { ... }, y catch (const std::exception &e) { ... } recoge el problema. throw lanza la excepción, y e.what() devuelve su mensaje. Requiere #include <stdexcept>.

El código de ejemplo detecta una división entre cero y muestra un mensaje en lugar de reventar. Fíjate en que la ejecución continúa después del catch.

Lo que hay que interiorizar es que C++ no lanza excepciones por todo. Dividir entre cero con enteros no lanza nada: es comportamiento indefinido. Aquí la excepción la lanzamos nosotros con throw tras comprobarlo.

En el trabajo real, las excepciones se reservan para situaciones verdaderamente excepcionales. Para errores previsibles muchos equipos prefieren devolver un código o un valor opcional, porque las excepciones tienen coste y complican el flujo.

📖 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).

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