Gestion des erreurs et sûreté
Écrivez du code C++ robuste avec une gestion d'erreurs appropriée — exceptions, garanties de sûreté RAII, types somme et patrons de programmation défensive.
Exceptions et stratégies d'erreur
Exceptions : throw, try, catch
Comprenez le mécanisme d'exceptions C++ — le déroulement de pile, la hiérarchie d'exceptions standard, les exceptions personnalisées et quand préférer les exceptions aux codes d'erreur.
Garanties de sûreté des exceptions
Apprenez les trois niveaux de sûreté d'exception — basique, forte et sans levée — et comment le RAII et le copy-and-swap les fournissent.
Stratégies de gestion d'erreurs : choisir la bonne approche
Comparez les exceptions, les codes d'erreur et std::expected — apprenez quand chaque approche est appropriée et comment gérer les erreurs dans les constructeurs, destructeurs et le code multithreadé.
Sûreté de type et programmation défensive
std::optional, std::variant & std::expected
Utilisez les types somme C++17/23 pour représenter des valeurs nullables, des unions type-safe et des retours valeur-ou-erreur — éliminant des classes entières de bugs à la compilation.
Sûreté de type, assertions et contrats
Exploitez le système de types C++ pour prévenir les bugs à la compilation — enums fortement typés, le patron newtype, static_assert, assertions à l'exécution et la fonctionnalité de contrats à venir.
Comprendre et éviter le comportement indéfini
Apprenez ce qu'est le comportement indéfini, pourquoi il existe, comment les compilateurs l'exploitent pour l'optimisation, et comment le détecter avec les sanitizers et les avertissements du compilateur.