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