您好我有代码示例
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 它仍然引发异常。
我想知道为什么它在两种情况下抛出异常
谢谢,
答案 0 :(得分:3)
;
条件之后您还有if
。该分号终止条件语句,因此始终执行throw
。