怎么做网站后台,网站无法备案,网站建设印花税,哪些动物可以做网站名不建议在构造函数中抛出异常。当构造函数中抛出异常时#xff0c;析构函数将不会被执行#xff0c;需要手动释放内存。析构函数不应该抛出异常。当析构函数中有一些可能发生的异常时#xff0c;这时候要把可能发生的异常完全封装在析构函数内部#xff0c;决不能让它抛出到… 不建议在构造函数中抛出异常。当构造函数中抛出异常时析构函数将不会被执行需要手动释放内存。析构函数不应该抛出异常。当析构函数中有一些可能发生的异常时这时候要把可能发生的异常完全封装在析构函数内部决不能让它抛出到函数之外。测试代码
#include iostream
using namespace std;class A {
public:A(){cout construction fun endl;throw 1;}~A(){cout destruction fun endl;throw 2;}
};int main()
{try{A a;}catch (...)//catch all{cout caught! endl;}return(0);
}输出结果 参考资料 1. C中构造函数和析构函数可以抛出异常吗? 2. 构造函数、析构函数抛出异常的问题