Sun Studio 12: Fortran プログラミングガイド

6.3.3.1 例外ハンドラ関数を設定する

例外ハンドラとして関数を設定するときは、監視する例外や対応動作といっしょに、関数の名前を ieee_handler() に渡します。 ハンドラを一度設定すると、特定の浮動小数点の例外が発生するたびに、SIGFPE シグナルが生成され、指定した関数が呼び出されます。

ieee_handler() を起動する形式を次の表に示します。

表 6–4 ieee_handler( action , exception , handler) の引数

引数 

種類 

可能な値 

action

文字列

getsetclear のいずれか

exception

文字列

invaliddivisionoverflowunderflowinexact のいずれか

handler

関数名 

ユーザーハンドラ関数の名前、または、SIGFPE_DEFAULTSIGFPE_IGNORESIGFPE_ABORT のいずれか

戻り値 

整数

0 =OK

f95 でコンパイルする Fortran 95 ルーチンで ieee_handler() を呼び出す場合は、次の宣言も必要です。

#include 'floatingpoint.h'

特別な引数 SIGFPE_DEFAULTSIGFPE_IGNORE、および SIGFPE_ABORT は、これらのインクルードファイルで定義され、特定の例外に対するプログラムの動作を変更するのに使用できます。

SIGFPE_DEFAULT または SIGFPE_IGNORE

指定した例外が発生しても何も動作しない。 

SIGFPE_ABORT

例外発生時にはプログラムが異常終了し、おそらくダンプファイルを生成する。