析构函数中不能抛出异常的原因
2016-04-22 21:04
127 查看
1. 如果析构函数抛出异常,则异常点之后的程序不会执行,如果析构函数在异常点之后执行了某些必要的动作比如释放某些资源,则这些动作不会执行,会造成诸如资源泄漏的问题。
2. 通常异常发生时,c++的机制会调用已经构造对象的析构函数来释放资源,此时若析构函数本身也抛出异常,则前一个异常尚未处理,又有新的异常,会造成程序崩溃的问题。
2. 通常异常发生时,c++的机制会调用已经构造对象的析构函数来释放资源,此时若析构函数本身也抛出异常,则前一个异常尚未处理,又有新的异常,会造成程序崩溃的问题。
相关文章推荐
- HDU 1875 畅通工程再续(kruskal)
- HTML中label的两种使用方法
- QT中QWidget、QDialog及QMainWindow的区别
- jquery $(":text") 这是什么意思
- 滑雪(动规例题)
- HDU 1875 畅通工程再续(kruskal)
- 求1+2+3+...+n
- poj1703 Find them, Catch them
- DMA(Linux设备驱动程序)
- linux 命令
- android之Uri
- c印记(五):数组
- makefile简单使用(二)
- preventDefault() 方法 取消掉与事件关联的默认动作
- Webpack+Gulp+React+ES6开发
- php一个简单的数字 字母验证码代码
- Android - Activity的启动模式
- 结队练习源代码操作
- 在eclipse中安装插件
- HDU 1233 还是畅通工程(Kruskal)