跳至内容
模块 6

错误处理与安全

编写健壮的 C++ 代码,掌握正确的错误处理──异常、RAII 安全保证、和类型与防御性编程模式。

开始学习6 节课

异常与错误策略

  1. 异常:throw、try、catch

    理解 C++ 异常机制──栈展开、标准异常层次结构、自定义异常,以及何时优先使用异常而非错误码。

  2. 异常安全保证

    学习异常安全的三个级别──基本保证、强保证和无抛出保证──以及 RAII 和 copy-and-swap 如何提供这些保证。

  3. 错误处理策略:选择正确的方法

    比较异常、错误码和 std::expected──学习每种方法的适用场景以及如何在构造函数、析构函数和多线程代码中处理错误。

类型安全与防御性编程

  1. std::optional、std::variant 和 std::expected

    使用 C++17/23 和类型来表示可空值、类型安全的联合体和值或错误的返回──在编译时消除整类错误。

  2. 类型安全、断言与契约

    利用 C++ 类型系统在编译时防止错误──强枚举、新类型模式、static_assert、运行时断言以及即将到来的契约特性。

  3. 理解与避免未定义行为

    了解什么是未定义行为、它为什么存在、编译器如何利用它进行优化,以及如何使用净化器和编译器警告来检测它。