文件打开/关闭状态引发意外异常

时间:2014-11-12 07:49:16

标签: c++

您好我有代码示例

try {
ifs.open(sourceHtmlFile.c_str());
std::cout << ifs << "\n" ;
if( !ifs ) ;
throw std::string("Could not open file");
} catch (std::string &ex) {
std::cout << ex << " !\n";
}

O / P

当文件不存在时: ifs - &gt; 0 抛出预期的异常

文件存在时 ifs - &gt; 0xbfc885b4 它仍然引发异常。

我想知道为什么它在两种情况下抛出异常

谢谢,

1 个答案:

答案 0 :(得分:3)

;条件之后您还有if。该分号终止条件语句,因此始终执行throw