Fehlerbehandlung & Sicherheit
Schreibe robusten C++-Code mit korrekter Fehlerbehandlung — Exceptions, RAII-Sicherheitsgarantien, Summentypen und defensive Programmiermuster.
Exceptions & Fehlerstrategien
Ausnahmen: throw, try, catch
Verstehe den C++-Exception-Mechanismus — Stack Unwinding, die Standard-Exception-Hierarchie, benutzerdefinierte Exceptions und wann Exceptions gegenüber Fehlercodes zu bevorzugen sind.
Exception-Sicherheitsgarantien
Lerne die drei Stufen der Exception-Sicherheit — grundlegend, stark und No-Throw — und wie RAII und Copy-and-Swap sie bereitstellen.
Fehlerbehandlungsstrategien: Den richtigen Ansatz wählen
Vergleiche Exceptions, Fehlercodes und std::expected — lerne, wann welcher Ansatz angemessen ist und wie Fehler in Konstruktoren, Destruktoren und multithreaded Code behandelt werden.
Typsicherheit & defensive Programmierung
std::optional, std::variant & std::expected
Verwende C++17/23-Summentypen, um nullbare Werte, typsichere Unions und Wert-oder-Fehler-Rückgaben darzustellen — und eliminiere ganze Fehlerklassen zur Kompilierzeit.
Typsicherheit, Assertions & Contracts
Nutze das C++-Typsystem, um Fehler zur Kompilierzeit zu verhindern — starke Enums, das Newtype-Muster, static_assert, Laufzeit-Assertions und das kommende Contracts-Feature.
Undefiniertes Verhalten verstehen & vermeiden
Lerne, was undefiniertes Verhalten ist, warum es existiert, wie Compiler es für Optimierung ausnutzen und wie man es mit Sanitizern und Compiler-Warnungen erkennt.