¿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 UdemyEnlace de afiliado. No te cuesta nada extra.
- 01Preparar el entorno (lo que necesitas)
- 02Tu primera salida (cout)
- 03Variables y tipos (int/double/string/bool)
- 04Condicionales (sentencias if)
- 05Bucles (sentencias for)
- 06Escribir una función
- 07Trabajar con arrays
- 08Bucles (sentencias while)
- 09Fundamentos de los punteros
- 10Referencias
- 11Clases (programación orientada a objetos)
- 12Constructores y destructores
- 13Herencia
- 14Usar vector (la biblioteca estándar)
- 15Manipular texto (string)
- 16Estructuras (struct)
- 17Gestión de errores (try/catch)
- 18El operador ternario
- 19La sentencia switch
- 20[Aplicado] Construye un mini sistema de inventario
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.
🧪 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).
