例外ハンドラの置換(C言語)

説明:

通常アプリケーションエラーとなるコードを、メインの処理で実行する。SetUnhandledExceptionFilter関数によってトップレベルの例外ハンドラを置き換えることにより、独自の例外発生時処理を実行する。

サンプルコード:

/* 例外ハンドラ */
LONG CALLBACK ExceptionFilter(EXCEPTION_POINTERS *ExceptionInfo)
{
	FatalAppExit(0, "アプリケーションエラー発生");
	return(EXCEPTION_EXECUTE_HANDLER);
}
							 
/* メインの処理 */
void DoException()
{
	/* 例外ハンドラの置き換え */
	SetUnhandledExceptionFilter(ExceptionFilter);


	/* 例外が発生するコード */
	*(int *)NULL = 0;
}


(original text:1998/12/25 更新)

本ドキュメントの内容は保証しません。本ドキュメントによって生じた結果について、一切の責任を負いません。