Ir al contenido
Módulo 6

Manejo de Errores y Seguridad

Escribe codigo C++ robusto con manejo adecuado de errores — excepciones, garantias de seguridad RAII, tipos suma y patrones de programacion defensiva.

Excepciones y Estrategias de Errores

  1. Excepciones: throw, try, catch

    Comprende el mecanismo de excepciones de C++ — desenrollado de pila, la jerarquia estandar de excepciones, excepciones personalizadas y cuando preferir excepciones sobre codigos de error.

  2. Garantias de Seguridad de Excepciones

    Aprende los tres niveles de seguridad de excepciones — basica, fuerte y sin lanzamiento — y como RAII y copy-and-swap las proporcionan.

  3. Estrategias de Manejo de Errores: Elegir el Enfoque Correcto

    Compara excepciones, codigos de error y std::expected — aprende cuando cada enfoque es apropiado y como manejar errores en constructores, destructores y codigo multihilo.

Seguridad de Tipos y Programacion Defensiva

  1. std::optional, std::variant y std::expected

    Usa los tipos suma de C++17/23 para representar valores anulables, uniones con seguridad de tipos y retornos de valor-o-error — eliminando clases enteras de errores en tiempo de compilacion.

  2. Seguridad de Tipos, Aserciones y Contratos

    Aprovecha el sistema de tipos de C++ para prevenir errores en tiempo de compilacion — enums fuertes, el patron newtype, static_assert, aserciones en tiempo de ejecucion y la proxima caracteristica de contratos.

  3. Comprender y Evitar el Comportamiento Indefinido

    Aprende que es el comportamiento indefinido, por que existe, como los compiladores lo explotan para optimizacion y como detectarlo con sanitizers y advertencias del compilador.