当异常处理语句找到一个匹配的catch异常处理后,将从对应的try块开始到异常被抛掷处之间构造(且尚未析构)的所有栈对象和堆对象进行析构,这一过程称为解旋。
一个异常安全的函数,在有异常抛出时不应泄露任何资源,且不能使任何对象进入非法状态。
为实现异常安全的编程,应尽量确保析构函数不抛掷异常。
函数声明“void fun() throw();”表示该函数不抛掷任何类型异常;若无异常接口声明,则此函数可以抛掷任何类型的异常。
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题