私はDelphiでのプログラミングに慣れています。そのシステムでは、ハードウェア浮動小数点例外、例えば、ゼロ除算、オーバーフローなどにより、ネイティブのDelphi例外が発生します。このメカニズムは、ハードウェア例外がマスクされておらず、それらのハードウェア例外がDelphi RTLによってネイティブのDelphi例外に変換されることです。浮動小数点エラーをMSツールでC++例外にすることはできますか?
私のアプリケーションにはプラグインアーキテクチャがあり、多くのクライアントがMS C++コンパイラを使ってプラグインを作成します。クライアントのC++プラグインコードで浮動小数点エラーが発生すると、C++コードからDelphiコードの例外ハンドラにジャンプします。これにより、プラグインの作成者は、C++の例外ではないため、これらの例外をトラップすることはできないので、問題の原因を診断することが困難になります。
C++コンパイラで浮動小数点例外をC++例外に変換するためのオプションがいくつかありますか?または、C++コードの例外をマスクし、手動でエラーをテストする必要がありますか?
また、標準のC++ツールが浮動小数点エラーを無視すると、堅牢な科学的数値コードを書く方法を教えてください。それは眩しい弱点のように見える、または何かが欠けている?
参照http://stackoverflow.com/questions/4747934/c-catch-a-divide-by-zero-errorまたはhttp://stackoverflow.com/questions/4795169/handling-cpu-exceptions-in- C – rve
C++で浮動小数点例外をキャッチする例ここでは(http://www.cplusplus.com/forum/beginner/51694/) –
@LURDこれは浮動小数点数を投げてキャッチします。 FP例外はありません。 –