我在C++中有一个从文件读取的函数。这些函数以一个表示文件名称的字符串作为参数。该函数有一个if条件来检查错误(如文件不存在)。从文件中读取C++:如果条件使用.fail()或try/catch
void B::readFile(string file)
{
ifstream stfile;
stfile.open(file.c_str(), ios::in);
if (stfile.fail()) {
cerr << "Unable to open input file" << endl;
exit(-1);
}
//---goes on here
}
我的问题是:
- 是上述实施正确的方式来检查错误,或者我应该抛出一个异常?你有选择任何一个的理由吗?
- 如果上述实现是正确的,对于测试:我应该让该方法返回一个字符串(“无法打开输入文件”),并且ASSERT表示该字符串被返回或者不在测试中?
这实际上与阅读文件无关。 – 2013-03-18 19:46:30