iostate exceptions() const; // (1)
void exceptions(iostate except); // (2)
概要
例外マスク(特定の状態時に例外を投げる指定)の設定・取得を行う。
効果
- (1) -
- (2) 例外マスクを引数
except
に設定する(exceptions() == except
となる)。
その後、clear(rdstate())
を実行する(結果として、ios_base::failure
例外が送出される可能性がある)。
戻り値
- (1) 現在の例外マスク
- (2) なし
例
#include <iostream>
#include <cstddef>
int main()
{
std::ios str(NULL);
std::cout << "exceptions = " << str.exceptions() << '\n';
std::cout << "rdstate = " << str.rdstate() << '\n';
try {
str.exceptions(std::ios_base::failbit | std::ios_base::badbit);
} catch (std::ios_base::failure& e) {
std::cout << "exceptions = " << str.exceptions() << '\n';
std::cout << "rdstate = " << str.rdstate() << '\n';
std::cout << e.what() << '\n';
}
std::cout << "end\n";
}
出力例
exceptions = 0
rdstate = 1
exceptions = 5
rdstate = 1
ios_base::clear: unspecified iostream_category error
end
バージョン
言語
- C++98
参照
- 状態値の書き込み
- 状態値の読み取り