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 サンプルを参照してください。