我正在尝试学习C ++(当前正在使用C),并且我花时间在Internet上寻找良好的教程(也许有人对我有很好的建议)。
但是我找不到有关错误处理的标准方式的信息。
所以可以说我有一个像这样的简单类(我的example.h文件):
const int MAX = 1000;
class Example {
public:
Example(int x);
private:
int x_val;
}
所以我只想检查创建示例类的对象时,是否允许给定坐标,以及坐标是否高于允许值,是否中止程序?
因此在.cpp文件中:
Example::Example(int x){
/*So is it common, to do something like this:*/
if (x >= MAX){
std::cerr << "Error while generating example object" << std::endl;
return 0;
}
/*or is this more convenient:*/
throw std::invalid_argument( "received to high value" );
x_val = x;
}
答案 0 :(得分:5)
当构造函数失败时,抛出异常。
因为: