最終更新日時:
が更新

履歴 編集

class
<system_error>

std::error_category(C++11)

namespace std {
  class error_category;
}

概要

error_categoryクラスは、エラー情報を分類するための基本クラスである。

エラーコードから対応するエラーメッセージを取得する処理が異なる場合などで、error_categoryクラスを派生して環境固有のエラー情報を取得するためのクラスを定義できる。

メンバ関数

名前 説明 対応バージョン
(constructor) コンストラクタ C++11
(destructor) デストラクタ C++11
operator=(const error_category&) = delete 代入演算子(使用不可) C++11
name カテゴリ名を取得(pure virtual function) C++11
default_error_condition エラー値と自身のカテゴリからerror_conditionを生成 C++11
equivalent エラーコードとエラー状態の等値比較 C++11
message エラーコードに対応するメッセージを取得 C++11
operator== 等値比較 C++11
operator!= 非等値比較 C++11
operator< 小なり比較 C++11

#include <iostream>
#include <system_error>
#include <string>

class user_defined_error_category : public std::error_category {
public:
  const char* name() const noexcept override
  {
    return "user defined error";
  }

  std::string message(int ev) const override
  {
    return "error message";
  }
};

const std::error_category& user_defined_category()
{
  static user_defined_error_category cat;
  return cat;
}

int main()
{
  const std::error_category& cat = user_defined_category();
  std::cout << cat.name() << std::endl;
}

出力

user defined error

バージョン

言語

  • C++11

処理系

参照