【发布时间】:2015-02-04 20:29:50
【问题描述】:
也许这是个愚蠢的问题,我是 C++ 新手:
我阅读了一些关于异常机制的信息,在一些代码中我遇到了这样一行:
throw SomeClass();
这是什么意思? 是调用类 c'tor 然后抛出该类的对象吗?
在其他示例中,我看到“throw”总是抛出一个实例(特定的字符串或 int,在这里我很困惑,因为我知道 c'tor 没有返回类型。
我不明白这句话背后的“逻辑”……
【问题讨论】:
-
构造函数的返回类型是类型本身。
A()返回一个A的实例。 -
是调用类c'tor然后抛出该类的对象吗?:是的。
-
@RSahu 更具体地说,它调用构造函数,然后将由该调用初始化的对象抛出给构造函数。
标签: c++ exception constructor