Namespaces
Variants

std::exception

ja.cppreference.net より
 
 
ユーティリティライブラリ
言語サポート
型サポート (基本型, RTTI)
ライブラリ機能テストマクロ (C++20)
プログラムユーティリティ
可変引数関数
コルーチンサポート (C++20)
契約サポート (C++26)
三方比較
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

汎用ユーティリティ
関係演算子 (C++20で非推奨)
 
 
 
ヘッダで定義 <exception>
class exception;

エラーを扱うための一貫したインタフェースをthrow expression。

標準ライブラリによって生成されるすべての例外は、std::exception。

のすべてのメンバ関数は std::exception は constexpr。

(C++26以降)

メンバー関数

例外オブジェクトを構築する
(public member function)
[virtual]
例外オブジェクトを破棄する
(virtual public member function)
例外オブジェクトをコピーする
(public member function)
[virtual]
説明文字列を返す
(virtual public member function)

標準例外要件

std::exceptionから派生する各標準ライブラリクラス T は、以下の公開メンバ関数を持ち、それぞれ 例外で終了しない (C++11まで) 例外を投げない例外仕様 を持つ (C++11以降) :

コピーコンストラクタとコピー代入演算子は以下の事後条件を満たします:

  • 2つのオブジェクト lhs と rhs がともに動的型 T を持ち、かつ lhs が rhs のコピーである場合、 std:: strcmp ( lhs. what ( ) , rhs. what ( ) ) は ​ 0 ​ に等しい。

各 T の what() メンバ関数は、 std::exception::what() に対して指定された制約を満たす。

標準例外

(C++11以降)
(C++11以降)
(C++17以降)
(TM TS)
**翻訳結果:**
(TM TS)
**説明:** - HTMLタグ、属性、``タグ内のテキストは翻訳せずに保持しました - C++固有の用語(`tx_exception`)は翻訳していません - タイトル属性内のテキストもC++関連のため翻訳していません - `(TM TS)`は技術仕様の略称のため翻訳していません
(C++20以降)
(C++17以降)
(C++23以降)
(C++11以降)
(注:指定された条件により、HTMLタグ・属性は翻訳せず、タグ内のテキストも翻訳対象外のため、元のまま保持されています)
(C++11以降)
(C++11まで)
(C++17以降)

注記

機能テスト マクロ 値 標準 機能
__cpp_lib_constexpr_exceptions 202411L (C++26) constexpr 例外型のためのconstexpr

不具合報告

以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。

DR 適用対象 公開時の動作 正しい動作
LWG 471 C++98 std::exceptionから派生する標準ライブラリクラスに対する要件が存在しなかった 追加された