请问构造函数后面的throw()含义
时间:2011-12-03
来源:互联网
class A
{
public:
int key;
A(int n) throw();
};
{
public:
int key;
A(int n) throw();
};
作者: ZHANGKAN 发布时间: 2011-12-03
在构造时,可能会抛出异常
使用时,要注意用try和catch
使用时,要注意用try和catch
作者: ouyh12345 发布时间: 2011-12-03
标准C++中定义构造函数是一个对象构建自己,分配所需资源的地方,一旦构造函数执行完毕,则表明这个对象已经诞生了,有自己的行为和内部的运行状态,之后还有对象的消亡过程(析构函数的执行)。可谁能保证对象的构造过程一定能成功呢?说不定系统当前的某个资源不够,导致对象不能完全构建好自己,又由于C++标准规定构造函数是没有返回值,因为构造函数没有返回值,所以通知对象的构造失败的唯一方法那就是在构造函数中抛出异常。
构造函数中抛出异常时概括性总结
(1) C++中通知对象构造失败的唯一方法那就是在构造函数中抛出异常;
(2) 构造函数中抛出异常将导致对象的析构函数不被执行;
(3) 当对象发生部分构造时,已经构造完毕的子对象将会逆序地被析构;
(4) 其是还是那句话, “C++的异常处理不会破坏任何一条面向对象的特性!”。
构造函数中抛出异常时概括性总结
(1) C++中通知对象构造失败的唯一方法那就是在构造函数中抛出异常;
(2) 构造函数中抛出异常将导致对象的析构函数不被执行;
(3) 当对象发生部分构造时,已经构造完毕的子对象将会逆序地被析构;
(4) 其是还是那句话, “C++的异常处理不会破坏任何一条面向对象的特性!”。
作者: yuucyf 发布时间: 2011-12-03
学习下
作者: qq752923276 发布时间: 2011-12-03
引用 2 楼 yuucyf 的回复:
标准C++中定义构造函数是一个对象构建自己,分配所需资源的地方,一旦构造函数执行完毕,则表明这个对象已经诞生了,有自己的行为和内部的运行状态,之后还有对象的消亡过程(析构函数的执行)。可谁能保证对象的构造过程一定能成功呢?说不定系统当前的某个资源不够,导致对象不能完全构建好自己,又由于C++标准规定构造函数是没有返回值,因为构造函数没有返回值,所以通知对象的构造失败的唯一方法那就是在构造函数中抛出……
标准C++中定义构造函数是一个对象构建自己,分配所需资源的地方,一旦构造函数执行完毕,则表明这个对象已经诞生了,有自己的行为和内部的运行状态,之后还有对象的消亡过程(析构函数的执行)。可谁能保证对象的构造过程一定能成功呢?说不定系统当前的某个资源不够,导致对象不能完全构建好自己,又由于C++标准规定构造函数是没有返回值,因为构造函数没有返回值,所以通知对象的构造失败的唯一方法那就是在构造函数中抛出……
不错啊。。学学!!
作者: shen_wei 发布时间: 2011-12-03
恩,以后构造的时候要加throw.呵呵
作者: xiaoxiaoyu85 发布时间: 2011-12-03
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28