GETEXCEPTIONPTRSQQ

実行時関数SIGNALQQ が確立したシグナル・ハンドラを,または,C RTL signal( ) ルーチンへの直接呼出しで,適切に使用するための C 実行時例外情報ポインタへのポインタを返します。

モジュールUSE DFLIB

形式

result = GETEXCEPTIONPTRSQQ ( )

結果

結果の型は INTEGER(4) です。返し値は,データ構造のメンバが例外発生時の C 実行時ライブラリーが捕まえた例外情報へのポインタであるデータ構造のアドレスです。この返し値は,ユーザー定義ハンドラからスタック・トレースを生成するための,または,直接例外コンテキスト記録を検証するための TRACEBACKQQ ルーチンの EPTR 引数として使用することができます。

GETEXCEPTIONPTRSQQ の呼び出しは,SIGNALQQ が確立したユーザー定義ハンドラ内でのみ,または,C RTL signal() 関数の直接呼出し内でのみ有効です。

例外とエラー・ハンドラの詳細は,「浮動小数点環境」を参照してください。

互換性

CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS DLL LIB

関連情報

CLEARSTATUSFPQQ, GETCONTROLFPQQ, GETSTATUSFPQQ, MATHERRQQ, SETCONTROLFPQQ, SIGNALQQ, TRACEBACKQQ

	PROGRAM SIGTEST
	USE DFLIB
	...
	R3 = 0.0E0
	STS = SIGNALQQ(MY_HANDLER)
	! ゼロによる除算の例外を発生させます
	R1 = 3.0E0/R3
	...
	END

	INTEGER(4) FUNCTION MY_HANDLER(SIGNUM,EXCNUM)
	USE DFLIB
	...
	EPTRS = GETEXCEPTIONPTRSQQ()
	...
	CALL TRACEBACKQQ("Application SIGFPE error!",USER_EXIT_CODE=-1,EPTR=EPTRS)
	...
	MY_HANDLER = 1
	END

完全な例は,Visual Fortran サンプルを参照してください。