developer
Contents
#custom-toc-container
#custom-toc-container
A
A
Serif
Sans
White
Sepia
Night
Twitter
Google
Facebook
Weibo
Instapaper
异常
异常
2018年12月4日 23:35
58次浏览
软科
### C++中构造函数和析构函数可以抛出异常吗? 答:只有构造函数可以。 析构函数不能抛出异常,处理析构函数异常的正确方式是将异常封装在析构函数内部,而不是抛出异常,如下代码所示。 ``` ~ClassName(){ try{ do_something(); } catch{ //... } } ``` 原因如下:C++异常处理模型有责任处理那些因为出现异常而失效的对象,处理方式是调用这些失效对象的析构函数,释放掉它们占用的资源。如果析构函数再抛出异常,则会陷入无尽递归嵌套之中,因此这是不被允许的。
Name:
Content: