インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
トラッピング命令が C++ 例外をスローすることができるコードを生成します。
Linux* および macOS*: | -fnon-call-exceptions -fno-non-call-exceptions |
Windows*: | なし |
なし
-fno-non-call-exceptions |
C++ 例外はトラッピング命令からスローされません。 |
このオプションは、トラッピング命令が C++ 例外をスローすることができるようにします。トラッピング命令により生成されたハードウェア信号は C++ 例外に変換され、標準の C++ 例外処理メカニズムを使用してキャッチすることができます。このような信号の例として SIGFPE (浮動小数点例外) や SIGSEGV (セグメンテーション違反) があります。
信号をキャッチし、C++ 例外をスローする信号ハンドラーを記述する必要があります。C++ try ブロック内で信号が発生すると、信号ハンドラー内でスローされる C++ 例外と同じ型の catch ハンドラーでキャッチできます。
トラッピング命令により生成された信号のみ (メモリー参照、または浮動小数点命令) がキャッチ可能です。SIGALRM のようにいつでも発生する可能性がある信号はキャッチできません。
なし