我的代碼集的std :: failbit當EOF到達並拋出異常 我怎麼能跳過EOF異常雖然在catch塊中處理了適當的eof後,我的代碼在達到eof時會提高basic_ios :: clear:
在catch塊我檢查並跳過的例外是因爲EOF但它並不好。
請建議我怎麼可以跳過EOF異常在下面的代碼
std::ifstream in
std::string strRead;
in.exceptions (std::ifstream::failbit | std::ifstream::badbit);
try
{
while (getline(in,strRead))
{
//reading the file
}
catch(std::ifstream::failure & exce)
{
if(! in.eof()) // skip if exception because of eof but its not working?
{
cout<<exce.what()<<endl;
return false;
}
}
catch(...)
{
cout("Unknow exception ");
return false;
}
[std :: getline當它碰到eof時可能會出現重複](https://stackoverflow.com/questions/11807804/stdgetline-throwing-when-it-hits-eof) –
@CristianIonescu不,請不要讀我的直到最後問題我的擔心是我能否在catch block中處理? –
@CristianIonescu沒有與我的問題有關的地方 –