C++中析构函数为什么不允许抛出异常

2021-08-24
阅读 1 分钟
3.3k
1.问题本身:在语法上,C++允许在析构中抛出异常,但异常处理,本身就是为了处理构造失败的情况。当一个对象构造失败而抛出异常时,我们应当利用析构函数,清理无效对象,并回收其资源,这是使程序健壮的重要手段。2.问题分析:从1可知,构造函数显然是可以抛出异常的。进一步分析,在析构函数中抛出异常,会出现哪些情况...