名前空間
変種
操作

std::unexpected_handler

提供: cppreference.com
< cpp‎ | error

 
 
 
 
ヘッダ <exception> で定義
typedef void (*unexpected_handler)();
(非推奨)
std::unexpected_handlerstd::set_unexpectedstd::get_unexpectedstd::unexpectedによって呼び出される関数によってインストールされ、照会された関数ポインタ型(引数とvoidを返すを取らない関数へのポインタ)です.
Original:
std::unexpected_handler is the function pointer type (pointer to function that takes no arguments and returns void), which is installed and queried by the functions std::set_unexpected and std::get_unexpected and called by std::unexpected.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
C + +の実装がstd::unexpected_handlerを呼び出す既定std::terminate()機能を提供します。 nullポインタ値(std::set_terminateによって)インストールされている場合、実装ではなく、デフォルトのハンドラを復元することがあり.
Original:
The C++ implementation provides a default std::unexpected_handler function, which calls std::terminate(). If the null pointer value is installed (by means of std::set_terminate), the implementation may restore the default handler instead.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
ユーザー定義std::unexpected_handlerは、いずれかのプログラムを終了するか、例外をスローすることが期待され、それが例外をスローした場合、次の3つのいずれかの状況が発生する可能性があります:。
Original:
A user-defined std::unexpected_handler is expected to either terminate the program or throw an exception. If it throws an exception, one of the following three situations may be encountered:
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
1)
によってスローされた例外。。std::unexpected_handler新しい例外が関数をエスケープするために許可されている以前の違反があった動的例外仕様を満足し、スタック巻き戻し続け.
Original:
the exception thrown by std::unexpected_handler satisfies the dynamic exception specification that was violated earlier. The new exception is allowed to escape the function and stack unwinding continues.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
2)
std::unexpected_handlerによってスローされた例外は、まだ例外仕様に違反しています
Original:
the exception thrown by std::unexpected_handler still violates the exception specification:
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
2A)ただし、例外指定はできstd::bad_exception:スローされた例外オブジェクトは破棄され、std::bad_exceptionは、C + +のランタイムによって構築されて、代わりにスローされます。.
Original:
2a) however, the exception specification allows std::bad_exception: the thrown exception object is destroyed, and std::bad_exception is constructed by the C++ runtime and thrown instead.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
2b)は例外仕様は許可されていませんstd::bad_exception:呼ばれstd::terminate().
Original:
2b) the exception specification does not allow std::bad_exception: std::terminate() is called.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[編集] 参照

(C++17で削除)
動的例外指定に違反したときに呼ばれる関数
(関数) [edit]
(C++17で削除)
std::unexpected によって呼ばれる関数を変更します
(関数) [edit]
(C++11)(C++17で削除)
現在の unexpected_handler を取得します
(関数) [edit]