最終更新日時:
が更新

履歴 編集

function
<ios>

std::basic_ios::exceptions

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

参照