浮動小数点例外の処理

デフォルトでは、ゼロによる除法、無限大による除法、オーバーフロー、アンダーフローなどの無効な演算は、実行時には無視されます。ただし、-qflttrap オプションを使用すると、このようなタイプの例外を検出することができます。さらに、適切なサポート・コードをプログラムに追加すると、例外が発生してもプログラムの実行を続けて、例外の原因となった演算の結果を修正することができます。

しかし、定数を含む浮動小数点計算は、コンパイル時にはフォールディングされるのが普通であるため、実行時に発生する可能性のある例外は生じません。 -qflttrap オプションが、実行時の浮動小数点例外をすべてトラップできるようにするには、 -qfloat=nofold オプションを使用して、コンパイル時のフォールディングをすべて抑止することを検討してください。 IBM Copyright 2003