条款29:为“异常安全”而努力是值得的
2024-09-08 08:43:09
当异常被抛出时,带有异常安全性的函数:
1.不泄露任何资源
2.不允许数据败坏
异常安全函数提供以下三个保证之一:
1.基本承诺:如果异常被抛出,程序内的任何事物仍然保持在有效的状态下。没有任何对象或数据结构会因此而败坏,所有对象都处于一种内部前后一致的状态。
2.强烈保证:如果异常被抛出,程序状态不改变.调用这样的函数需有这样的认知:如果函数成功,就是完全成功,如果函数失败,程序会回复到“调用函数之前”的状态。
3.不抛掷保证,承诺绝不抛出异常,因为他们总是能够完成它们原先承诺的功能。
最新文章
- Linux下多线程下载利器 axel
- mysql数据库导出模型到powerdesigner,PDM图形窗口中显示数据列的中文注释
- JS代码实现的聊天框
- Python:迭代器
- android 14.04 64位 adb cannot run program adb
- js获取网页的各种高度和宽度
- AE 栅格图分级渲染
- Windows 2008 故障转移群集介绍
- INVALID_USER_SCODE问题的解决办法
- 虚拟机VirtualBox和Ubutu
- HTML5游戏开发引擎Pixi.js完全入门手册(一)框架简介及框架结构分析,作者思路剖析
- 论事件驱动与异步IO
- μCUnit,微控制器的单元测试框架
- gps相关的知识
- android studio 关闭SVN关联
- .NET轻量级ORM组件Dapper葵花宝典
- C# 中的时间(DataTime)
- Flask:静态文件&;模板(0.1)
- disconf实践(二)基于XML的分布式配置文件管理,不会自动reload
- 再谈System.arraycopy和Arrays.copyOf
热门文章
- 一种流量成本节省60%以上的手机直播微信直播H5直播幼儿园直播方案
- python中装饰器你真的理解吗?
- Tomcat Server 配置
- 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.
- Pentaho BIServer Community Edtion 6.1 使用教程 第三篇 发布和调度Kettle(Data Integration) 脚本 Job &; Trans
- maven 手动安装本地jar包
- SDUT OJ I样(0-1背包问题 【模板】)
- Too many open files解决方案及原理
- c语言学习的第12天
- NO2:设置RedHat Linux下的samba开机启动