私は最近、C# のバックグラウンドから C++ を学び始めました。私の問題は、例外の処理方法にあります。
どこかにある場合nullptr
、禁止された場所から読み取ることになり、次のように VS で見栄えの良いコールスタックが得られます。
ただし、独自の例外をスローするか、アサーションが失敗した場合、何が問題なのか手がかりが得られません。VSはエラーウィンドウを表示するだけです:
A: C# ではどちらの場合もスタック トレースが取得されるため、これは私にとっては不快です。スタックトレースを印刷する方法はありますか? または、VS がこの機能を実現するためのプラグインはありますか?
B: AccessViolationException が、私たち自身がスローした例外と異なるのはなぜですか? アサーションの失敗のスタックトレースがないのはなぜですか?
C:アサーションが失敗したときに AccessViolationException を引き起こす独自のアサート関数を作成するのは、どれほど悪いことでしょうか?
EDIT1: はい、すぐに [中止] をクリックするのではなく、そのメッセージ ボックスをもっと注意深く読むべきでした。私の悪い。