名前空間
変種
操作

std::overflow_error

提供: cppreference.com
< cpp‎ | error
 
 
 
 
 
ヘッダ <stdexcept> で定義
class overflow_error;

例外として投げられるオブジェクトの型を定義します。 この例外は算術オーバーフローエラー (計算の結果が結果の型に対して大きすぎる状況) を報告するために使用できます。

標準ライブラリのコンポーネントでこの例外を投げるのは std::bitset::to_ulongstd::bitset::to_ullong だけです。

標準ライブラリの数学関数はこの例外を投げません (数学関数は math_errhandling に従ってオーバーフローエラーを報告します)。 しかしサードパーティのライブラリはこの例外を使用します。 例えば boost.mathboost::math::policies::throw_on_error が有効 (デフォルトの設定) な場合、 std::overflow_error を投げます。

cpp/error/exceptioncpp/error/runtime errorstd-overflow error-inheritance.svg
画像の詳細

継承図

目次

[編集] メンバ関数

コンストラクタ
例外オブジェクトを構築します
(パブリックメンバ関数) [edit]

std::overflow_error::overflow_error

explicit overflow_error( const std::string& what_arg );
(1)
explicit overflow_error( const char* what_arg );
(2) (C++11およびそれ以降)

what() でアクセス可能な説明文字列として what_arg を持つ例外オブジェクトを構築します。

std::exception から派生する標準ライブラリのクラスはコピーされる際に例外を投げることが許されないため、このメッセージは一般的には別に確保された参照カウント管理の文字列として内部的に格納されます。 これは std::string&& を取るコンストラクタが無い理由でもあります。 どのみち内容をコピーしなければならないのです。

引数

what_arg - 説明文字列

例外

std::bad_alloc を投げる場合があります

std::exception から継承

メンバ関数

例外オブジェクトを破棄します
(std::exceptionの仮想パブリックメンバ関数) [edit]
[仮想]
説明文字列を返します
(std::exceptionの仮想パブリックメンバ関数) [edit]