Zum Inhalt springen
Modul 6

Fehlerbehandlung & Sicherheit

Schreibe robusten C++-Code mit korrekter Fehlerbehandlung — Exceptions, RAII-Sicherheitsgarantien, Summentypen und defensive Programmiermuster.

Jetzt lernen6 Lektionen

Exceptions & Fehlerstrategien

  1. 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.

  2. Exception-Sicherheitsgarantien

    Lerne die drei Stufen der Exception-Sicherheit — grundlegend, stark und No-Throw — und wie RAII und Copy-and-Swap sie bereitstellen.

  3. 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

  1. 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.

  2. 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.

  3. 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.