美文网首页
Effective C++ Term 29 关于异常安全

Effective C++ Term 29 关于异常安全

作者: vancymoon | 来源:发表于2022-05-06 10:26 被阅读0次

    异常安全(exception-safe)指的是:

    • 没有资源泄露,这里的资源包括内存、文件句柄、锁……
    • 数据没有败坏,比如不会有野指针的出现……

    基于异常安全的定义,有三种级别的异常安全承诺:

    1. 最基本承诺。这种承诺其实就是上述异常安全的定义,即不会泄露资源,并且程序内部一切逻辑、变量是自洽的。虽然程序内部自洽,但是可能异常引发了一些变量的改变,我们并不清楚程序到底发生了哪些改变,为此我们还需要亲自去检查是哪些变量发生了改变
    2. 强烈承诺。即:若有异常抛出,则程序在异常发生前后保持一致;若无异常抛出,则程序状态如预期那样被修改
    3. 不抛出异常承诺。即程序总是可以完成预期的任务,绝不抛出异常

    相关文章

      网友评论

          本文标题:Effective C++ Term 29 关于异常安全

          本文链接:https://www.haomeiwen.com/subject/wimrzqtx.html