当异常被抛出时,带有异常安全性的函数:

1.不泄露任何资源

2.不允许数据败坏

 

异常安全函数提供以下三个保证之一:

1.基本承诺:如果异常被抛出,程序内的任何事物仍然保持在有效的状态下。没有任何对象或数据结构会因此而败坏,所有对象都处于一种内部前后一致的状态。

2.强烈保证:如果异常被抛出,程序状态不改变.调用这样的函数需有这样的认知:如果函数成功,就是完全成功,如果函数失败,程序会回复到“调用函数之前”的状态。

3.不抛掷保证,承诺绝不抛出异常,因为他们总是能够完成它们原先承诺的功能。

最新文章

  1. Linux下多线程下载利器 axel
  2. mysql数据库导出模型到powerdesigner,PDM图形窗口中显示数据列的中文注释
  3. JS代码实现的聊天框
  4. Python:迭代器
  5. android 14.04 64位 adb cannot run program adb
  6. js获取网页的各种高度和宽度
  7. AE 栅格图分级渲染
  8. Windows 2008 故障转移群集介绍
  9. INVALID_USER_SCODE问题的解决办法
  10. 虚拟机VirtualBox和Ubutu
  11. HTML5游戏开发引擎Pixi.js完全入门手册(一)框架简介及框架结构分析,作者思路剖析
  12. 论事件驱动与异步IO
  13. μCUnit,微控制器的单元测试框架
  14. gps相关的知识
  15. android studio 关闭SVN关联
  16. .NET轻量级ORM组件Dapper葵花宝典
  17. C# 中的时间(DataTime)
  18. Flask:静态文件&模板(0.1)
  19. disconf实践(二)基于XML的分布式配置文件管理,不会自动reload
  20. 再谈System.arraycopy和Arrays.copyOf

热门文章

  1. 一种流量成本节省60%以上的手机直播微信直播H5直播幼儿园直播方案
  2. python中装饰器你真的理解吗?
  3. Tomcat Server 配置
  4. Error: Failed to fetch plugin E:_My_File______workMyCodemyCodecordova-workspaceplugman-testMyMath via registry. Probably this is either a connection problem, or plugin spec is incorrect.
  5. Pentaho BIServer Community Edtion 6.1 使用教程 第三篇 发布和调度Kettle(Data Integration) 脚本 Job & Trans
  6. maven 手动安装本地jar包
  7. SDUT OJ I样(0-1背包问题 【模板】)
  8. Too many open files解决方案及原理
  9. c语言学习的第12天
  10. NO2:设置RedHat Linux下的samba开机启动