zoukankan      html  css  js  c++  java
  • C++ 异常安全

    http://blog.csdn.net/wukunshe/article/details/28094831

    什么是异常安全的代码

          一直以来,我对“异常安全”这个概念都不是太理解,今天查阅了一些资料,终于弄清楚了它的意思。

          “异常安全”并不是说不能抛出异常,更不是说“非常安全的意思”,而是说即使在抛出异常的时候(如果有异常的话),程序回退的过程是干净的

          “异常安全”分为三个级别:

           1.基本级别:可能发生异常,但是彼时代码保证做了任何必要的清理工作;

           2.事物级别:可能发生异常,但是彼时代码保证它对数据的任何修改都被回滚

           3.没有异常:不可能发生异常

          如果要编写“异常安全”的代码,必须做到上述3点中的一点。

    异常安全函数即使发生异常也不会泄露资源或允许任何数据结构破坏。这样的函数区分为三种可能的保证:基本型,强烈型,不抛异常型。

    强烈保证往往能够以Copy and Swap实现出来,但是强烈保证并非对所有函数都可实现或具备现实意义。

    函数提供的异常安全保证通长最后只等于其所调用之各个函数的“异常 安全保证”中的最弱者。

  • 相关阅读:
    IK分词器插件
    倒排索引
    logstash-安装、基本使用、入门
    Anaconda使用-详解
    java之反射
    Java中级路线jdbc第一天
    Java字符串及字符串的常用方法知识点总结
    Java基本类型的类包装知识点总结
    Java Class类知识点总结
    java异常类知识点总结
  • 原文地址:https://www.cnblogs.com/feng9exe/p/7245542.html
Copyright © 2011-2022 走看看