首页 > 试题广场 >

下面关于C++异常处理描述中,错误的是()

[单选题]
下面关于C++异常处理描述中,错误的是()
  • 当异常处理语句找到一个匹配的catch异常处理后,将从对应的try块开始到异常被抛掷处之间构造(且尚未析构)的所有栈对象和堆对象进行析构,这一过程称为解旋。
  • 一个异常安全的函数,在有异常抛出时不应泄露任何资源,且不能使任何对象进入非法状态。
  • 为实现异常安全的编程,应尽量确保析构函数不抛掷异常。
  • 函数声明“void fun() throw();”表示该函数不抛掷任何类型异常;若无异常接口声明,则此函数可以抛掷任何类型的异常。
栈解旋:当发生异常时,从进入try块后,到异常被抛掷前,这期间在栈上的构造的所有对象都会被自动析构。析构的顺序与构造的顺序相反,这一过程被称为栈的解旋。
A项多了堆对象。
发表于 2020-02-23 10:56:14 回复(0)