如何在ifstream中清除异常掩码?

时间:2016-04-28 18:17:10

标签: c++ io

我通过执行以下操作设置ifstream的异常掩码failbit

#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
    }
}

有什么办法可以清除或恢复异常掩码吗?

1 个答案:

答案 0 :(得分:2)

找到解决方案:

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

将保存旧的异常掩码。