【发布时间】:2012-11-11 17:56:05
【问题描述】:
我们的教授给了我们一个shell来编写程序。他给了我们一个名为“Maker”的类,它能够抛出异常。考虑到他提供的构造函数的格式,我对如何抛出和捕获错误感到困惑。
他给了我们他自己的特殊异常头文件 CycleFoundException.h,看起来像这样:
#include <iostream>
#include <exception>
using namespace std;
class CycleFoundException: public exception {
// Don't add code
};
这里是 Maker.h 头文件:
#include "CycleFoundException.h"
class Maker
{
private:
// insert instance variables
public:
Maker(int x) throw (CycleFoundException);
};
最后是 cpp shell,Maker.cpp:
#include Maker.h
Maker::Maker(int x) throw (CycleFoundException){
//add code here
}
int main()
{
return 0;
}
我从未见过这样的构造函数声明。为什么将“抛出(CycleFoundException)”标记到构造函数的声明中?有必要吗?
如果采用这种格式,我将如何抛出异常?我是否仍会以与其他方式相同的方式执行此操作,即如果不满足某个条件则抛出异常(从构造函数的主体内)?谢谢。
【问题讨论】:
-
尝试阅读有关 throws 关键字的更多信息。
-
“shell”可能不是在这里使用的理想词
-
using namespace std;在标头中?这会带来很多麻烦。叹息。 -
我很难相信你的教授给了你这个代码来使用它而不教你它是什么,虽然......
标签: c++ exception constructor