2016-04-28 54 views
0

我設置的例外通過做掩蓋ifstream的的failbit如何在ifstream中清除異常掩碼?

#include <iostream> 
#include <fstream> 

int main() 
{ 
    try { 
     std::ifstream in("in.txt"); 
     in.exceptions(std::ifstream::failbit); 
    } catch (std::ios_base::failure &fail) { 
     // handle exception here 
    } 
} 

有沒有什麼辦法可以清除或恢復異常屏蔽?

回答

2

找到了解決辦法:

std::ifstream::iostate old_state = in.exceptions(); 

將保存舊的異常掩碼。