它用於獲取/設置異常掩碼。異常掩碼是所有流對象保存的內部值,指定為哪些狀態標誌設置時拋出成員類型失敗(或某些派生類型)的異常。
聲明
以下是ios::exceptions
函數的聲明。
get (1) iostate exceptions() const;
set (2) void exceptions (iostate except);
上述第一種形式(1)返回流的當前異常掩碼。
上面的第二種形式(2)為流設置一個新的異常掩碼,並清除流的錯誤狀態標誌(好像調用了成員clear()
)。
參數
except
− 設置錯誤狀態標誌位(badbit
,eofbit
和/或failbit
)的組合形成的成員類型iostate
的位掩碼值,或者設置為goodbit
(或零)。
返回值
- 在調用此成員函數之前返回表示現有異常掩碼的成員類型
iostate
的位掩碼。
示例
下麵的例子演示了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::fill()函數
下一篇:
ios::imbue()函數