std::system_error
ja.cppreference.net から
| ヘッダ <system_error>
|
||
class system_error;
|
で定義 (C++11 以降) | |
std::system_error は、各種ライブラリ関数 (通常は OS 機能とインターフェースする関数、例えば std::thread のコンストラクタ) によって投げられる例外の型であり、その例外は関連付けられた std::error_code を持ち報告される可能性があります。
継承図
メンバー関数
system_errorオブジェクトを構築する
(public member function) |
|
system_errorオブジェクトを置き換える
(public member function) |
|
|
エラーコードを返す
(public member function) |
|
|
[virtual]
|
説明文字列を返す
(virtual public member function) |
std::exception から継承
メンバ関数
|
[virtual]
|
例外オブジェクトを破棄
( std::exception の仮想公開メンバ関数)
|
|
[virtual]
|
説明文字列を返す
( std::exception の仮想公開メンバ関数)
|
例
このコードを実行
#include <iostream> #include <system_error> #include <thread> int main() { try { std::thread().detach(); // attempt to detach a non-thread } catch(const std::system_error& e) { std::cout << "Caught system_error with code " "[" << e.code() << "] meaning " "[" << e.what() << "]\n"; } }
出力例:
Caught system_error with code [generic:22] meaning [Invalid argument]