重複の可能性:
C++でのクラッシュを防ぐ方法
typedef struct {
int val;
} valStruct;
main()
{
try {
valStruct *s = NULL;
int v = s->val; // bad
}
catch (...) {}
}
MacOSにはかなり新しい。デバッガーで実行すると、EXC_BAD_ACCESSブレークが発生します。悪いメモリアクセスが発生したことを意味することを推測するのはそれほど難しいことではありませんが、C ++例外は発生せず、上記のコードではキャッチが呼び出されません。
これは悪いことのようで、C++の例外処理がほとんど役に立たなくなります。これが単なるデバッグである場合を除きます。リリースモードで実行したり、設定を変更したりした場合、これは例外として処理されますか?