std::basic_ios<CharT,Traits>::exceptions

来自cppreference.com
< cpp‎ | io‎ | basic ios
 
 
 
 
std::ios_base::iostate exceptions() const;
(1)
void exceptions( std::ios_base::iostate except );
(2)

获取和设置流的异常掩码。异常掩码确定在哪些错误状态出现时抛出 failure 类型异常。

1) 返回异常掩码。
2) 设置异常掩码为 except。如果调用时此流具有异常掩码所覆盖的错误状态,则立即触发异常。

参数

except - 异常掩码

返回值

1) 当前异常掩码。
2) (无)

注解

示例

#include <fstream>
#include <iostream>
 
int main() 
{
    int ivalue;
    try
    {
        std::ifstream in("in.txt");
        in.exceptions(std::ifstream::failbit); // 可能抛出
        in >> ivalue; // 可能抛出
    }
    catch (const std::ios_base::failure& fail)
    {
        // 此处处理异常
        std::cout << fail.what() << '\n';
    }
}

可能的输出:

basic_ios::clear: iostream error