例外が値によってキャッチされました
catch ステートメントがオブジェクトを値によって受け取る
説明
この欠陥は、catch ステートメントが値でオブジェクトを受け取った場合に発生します。
リスク
throw ステートメントがオブジェクトを渡し、対応する catch ステートメントが例外を値で受け取る場合、オブジェクトは catch ステートメント パラメーターにコピーされます。このコピーは、次のような予期しない動作の原因となる場合があります。
オブジェクトのスライス (
throwステートメントが派生クラス オブジェクトを渡した場合)。例外の未定義の動作 (コピーが失敗した場合)。
修正方法
例外を参照かポインターによってキャッチします。例外を参照によってキャッチすることを推奨します。
例
結果情報
| グループ: C++ の例外 |
| 言語: C++ |
| 既定値: 手書きコードはオン、生成コードはオフ |
コマンド ライン構文: EXCP_CAUGHT_BY_VALUE |
| 影響度: Medium |
バージョン履歴
R2015b で導入