AUTOSAR C++14 Rule A15-5-3
The std::terminate() function shall not be called implicitly
説明
ルール定義
関数 std::terminate() を暗黙的に呼び出してはなりません。
Polyspace 実装
チェッカーは、関数 std::terminate() を暗黙的に呼び出す結果となる可能性がある状況にフラグを設定します。このような状況には以下が含まれます。
例外が未処理のままである。次に例を示します。
例外が処理されているものの、未処理例外を発生させる別の関数によりエスケープする。たとえば、catch ステートメントまたは例外ハンドラーが、未処理例外を発生する別の関数を呼び出す。
空の
throwステートメントにより未処理例外が再発生する。
詳細は、
キャッチされていない例外を参照してください。クラス デストラクターが例外を発生する。
std::atexitに渡される終了ハンドラーにより未処理例外が発生する。
トラブルシューティング
ルール違反が想定されるものの、Polyspace® から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
例
チェック情報
| グループ: Exception Handling |
| カテゴリ: Required、Automated |