エラーを扱うための一貫したインタフェースをthrow expression。
標準ライブラリによって生成されるすべての例外は、std::exception。
|
のすべてのメンバ関数は std::exception は constexpr。
|
(C++26以降) |
メンバー関数
|
|
例外オブジェクトを構築する
(public member function)
|
|
|
例外オブジェクトを破棄する
(virtual public member function)
|
|
|
例外オブジェクトをコピーする
(public member function)
|
|
|
説明文字列を返す
(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()
に対して指定された制約を満たす。
標準例外
-
-
**翻訳結果:**
**説明:**
- HTMLタグ、属性、`
`タグ内のテキストは翻訳せずに保持しました
- C++固有の用語(`tx_exception`)は翻訳していません
- タイトル属性内のテキストもC++関連のため翻訳していません
- `(TM TS)`は技術仕様の略称のため翻訳していません
(注:指定された条件により、HTMLタグ・属性は翻訳せず、
タグ内のテキストも翻訳対象外のため、元のまま保持されています)
注記
不具合報告
以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。
|
DR
|
適用対象
|
公開時の動作
|
正しい動作
|
|
LWG 471
|
C++98
|
std::exceptionから派生する標準ライブラリクラスに対する要件が存在しなかった
|
追加された
|