首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于设置windows错误处理函数的有关问题

2014-01-22 
关于设置windows异常处理函数的问题最近看到《windows核心编程》第五版的第二十五章关于使用SetUnhandledExc

关于设置windows异常处理函数的问题
最近看到《windows核心编程》第五版的第二十五章关于使用SetUnhandledExceptionFilter设置顶层的异常处理函数时,其中写道:并不建议在自己的异常处理函数中调用之前的未处理异常函数。其在25.1节的第3点的解释是:可能会引起无限递归。我觉得这种做法不会引起无限递归。不知道在什么情况下回引起无限递归,这个地方是不是书上错了?百思不得其解,故来此请教各位。如有人知道还望指教。
[解决办法]
居然没找到你说的这个地方。。。 贴全文吧 或截图
[解决办法]
方案一:


#include <stdio.h>
int main(int argc, char* argv[])
{
__try
    {
        *(int*)0 = 0;
    }
    __except(printf("Continue run!\n"), EXCEPTION_CONTINUE_EXECUTION)
    {
        ;
    }
return 0;
}
方案二:
#include <windows.h>
#include <stdio.h>

LONG CALLBACK MyExceptionFilter(  PEXCEPTION_POINTERS ExceptionInfo )
{
    printf("0x%08X\n", ExceptionInfo->ContextRecord->Eip);
    return EXCEPTION_CONTINUE_EXECUTION;
}

int main(int argc, char* argv[])
{
SetUnhandledExceptionFilter(MyExceptionFilter);
    *(int*)0 = 0;
return 0;
}

热点排行