Skip to content

Latest commit

 

History

History
90 lines (70 loc) · 2.46 KB

error_category.md

File metadata and controls

90 lines (70 loc) · 2.46 KB

error_category

  • system_error[meta header]
  • std[meta namespace]
  • class[meta id-type]
  • cpp11[meta cpp]
namespace std {
  class error_category;
}

概要

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

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

メンバ関数

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

純粋仮想関数

名前 説明 対応バージョン
name カテゴリ名を取得 C++11
message エラーコードに対応するメッセージを取得 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;
}
  • std::error_category[color ff0000]

出力

user defined error

バージョン

言語

  • C++11

処理系

参照