【发布时间】:2013-03-07 07:07:20
【问题描述】:
我有一个从文件读取的 C++ 函数。这些函数将一个字符串作为参数,该字符串表示文件的名称。该函数有一个if条件来检查错误(例如文件不存在)。
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
}
我的问题是:
- 上述实现是检查错误的正确方法,还是应该抛出异常?您有理由选择其中任何一个吗?
- 如果上面的实现是正确的,对于测试:我是否应该让方法返回一个字符串(“无法打开输入文件”),并在测试中断言这个字符串是否返回?
【问题讨论】:
-
这实际上与从文件中读取无关。
标签: c++ exception exception-handling io try-catch