- C 标准库
- C 标准库
- C++ 标准库
- C++ 库 - 主页
- C++ 库 - <fstream>
- C++ 库 - <iomanip>
- C++ 库 - <ios>
- C++ 库 - <iosfwd>
- C++ 库 - <iostream>
- C++ 库 - <istream>
- C++ 库 - <ostream>
- C++ 库 - <sstream>
- C++ 库 - <streambuf>
- C++ 库 - <原子>
- C++ 库 - <复杂>
- C++ 库 - <异常>
- C++ 库 - <功能>
- C++ 库 - <限制>
- C++ 库 - <语言环境>
- C++ 库 - <内存>
- C++ 库 - <新>
- C++ 库 - <数字>
- C++ 库 - <正则表达式>
- C++ 库 - <stdexcept>
- C++ 库 - <字符串>
- C++ 库 - <线程>
- C++ 库 - <元组>
- C++ 库 - <类型信息>
- C++ 库 - <实用程序>
- C++ 库 - <valarray>
C++ IOS 库 - 异常
描述
它用于获取/设置异常掩码。异常掩码是由所有流对象保存的内部值,指定在设置时抛出成员类型失败(或某些派生类型)的异常的状态标志。该掩码是成员类型 iostate 的对象,它是由以下成员常量的任意组合形成的值 -
价值 (成员常量) |
表示 | 检查状态标志的函数 | ||||
---|---|---|---|---|---|---|
好的() | 结束时间() | 失败() | 坏的() | rdstate() | ||
好比特 | 无错误(零值iostate) | true |
false |
false |
false |
好比特 |
尾数 | 输入操作到达文件结尾 | false |
true |
false |
false |
尾数 |
故障位 | I/O 操作逻辑错误 | false |
false |
true |
false |
故障位 |
坏比特 | I/O 操作读/写错误 | false |
false |
true |
true |
坏比特 |
宣言
以下是 ios::exceptions 函数的声明。
get (1) iostate exceptions() const; set (2) void exceptions (iostate except);
上面的第一种形式 (1) 返回流的当前异常掩码。
上面的第二种形式 (2) 为流设置了一个新的异常掩码,并清除了流的错误状态标志(就好像调用了成员clear())。
参数
except - 成员类型iostate的位掩码值,由要设置的错误状态标志位(badbit、eofbit和/或failbit)的组合形成,或设置为goodbit(或零)。
返回值
它返回一个成员类型 iostate 的位掩码,表示调用此成员函数之前现有的异常掩码。
例外情况
基本保证- 如果抛出异常,则流处于有效状态。
数据竞赛
访问 (1) 或修改 (2) 流对象。
对同一流对象的并发访问可能会导致数据争用。
例子
在下面的示例中解释了 ios::fill 函数。
#include <iostream> #include <fstream> int main () { std::ifstream file; file.exceptions ( std::ifstream::failbit | std::ifstream::badbit ); try { file.open ("test.txt"); while (!file.eof()) file.get(); file.close(); } catch (std::ifstream::failure e) { std::cerr << "Exception opening/reading/closing file\n"; } return 0; }
ios.htm