C++ 为什么析构函数不能抛出异常问题
2015-01-27 09:05
246 查看
more effective c++提出两点理由: 1. 如果析构函数抛出异常,则异常点之后的程序不会执行,如果析构函数在异常点之后执行了某些必要的动作比如释放某些资源,则这些动作不会执行,会造成诸如资源泄漏的问题。 2. 通常异常发生时,c++的机制会调用已经构造对象的析构函数来释放资源,此时若析构函数本身也抛出异常,则前一个异常尚未处理,又有新的异常,会造成程序崩溃的问题。
相关文章推荐
- C++ 异常 与 ”为什么析构函数不能抛出异常“ 问题
- C++ 异常 与 ”为什么析构函数不能抛出异常“ 问题
- C++ 异常 与 ”为什么析构函数不能抛出异常“ 问题
- C++ 异常 与 ”为什么析构函数不能抛出异常“ 问题
- C++ 异常 与 ”为什么析构函数不能抛出异常“ 问题
- C++ 异常 与 ”为什么析构函数不能抛出异常“ 问题
- C++ 异常 与 ”为什么析构函数不能抛出异常“ 问题
- C++ 为什么析构函数不能抛出异常
- C++中构造函数和析构函数抛出异常问题
- C++之构造函数、析构函数抛出异常的问题
- 为什么析构函数不能抛出异常
- 问题:为什么本例中c++析构函数不能正确释放内存及析构
- C++ - 为什么析构函数不允许抛出异常
- 不能在析构函数里面抛出异常
- [c/c++]构造函数、析构函数中可不可以抛出异常
- 析构函数不能抛出异常
- 异常父类为什么java中子类重写父类的方法时声明抛出异常不能比父类范围大
- 不能在析构函数里面抛出异常
- 【中级】C++析构函数抛出异常
- 构造函数、析构函数抛出异常的问题