实现像QQ一样错误退出后的错误提示

rabo 2004-01-13 03:50:56
QQ出错关闭后,都会弹出一个框框,里面都是一些错误提示.

我现在的程序,运行着运行着就突然跳掉了,我怎么也检查不出来是什么问题.

所以想实现QQ的这种错误提示的功能.来看看我程序哪儿有问题.

或者大家还能指点我什么?我程序反正就是运行一会就突然跳掉这种情况.

但是还是希望学会显示错误提示.

我只会用GetLastError,但是在我程序跳掉时是没有用的.所以还是这种的好.
...全文
45 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
rabo 2004-03-17
  • 打赏
  • 举报
回复
七猫真是神人也.
goodboyaxj 2004-01-16
  • 打赏
  • 举报
回复
先隐藏窗口,弹出报错对话框,然后退出程序?
或者退出的时候调用ShellExeCute()调出另外一个单独的包错对话框程序
sevencat 2004-01-16
  • 打赏
  • 举报
回复
#pragma once
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>


LONG WINAPI MY_EXCEPTION_FILTER(EXCEPTION_POINTERS *ExceptionInfo);
bool installUnhandledExceptionFilter();

#include ".\excehandler.h"
#include <process.h>
#include <string>
LONG WINAPI MY_EXCEPTION_FILTER(EXCEPTION_POINTERS *ExceptionInfo)
{
PEXCEPTION_RECORD ERecord=ExceptionInfo->ExceptionRecord;
PCONTEXT Context=ExceptionInfo->ContextRecord;
//寄存器变量在上面这个里面的东西能找到。你就自己找吧。
int iiid=getpid();
static char buf[256];
sprintf(buf,"%d",iiid);
MessageBox(NULL,buf,"SDF",MB_OK);
return EXCEPTION_EXECUTE_HANDLER;
}

//主程序
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>
#include "excehandler.h"

int _tmain(int argc, _TCHAR* argv[])
{
installUnhandledExceptionFilter();
char *j=0;
char ttt=*j;

return 0;
}

搞定,就这样应该可以拦住任何的异常了吧,虽然不太好...
rabo 2004-01-14
  • 打赏
  • 举报
回复

谢谢楼上的各位朋友.我这就去看.


(2004-01-13 19:11:56) 无限天空
Debugging and Error Handling
(2004-01-13 22:53:06) 无限天空
SDK有详细说明

gbstar2021 2004-01-14
  • 打赏
  • 举报
回复
写错书名了

是 《windows 核心编程》
gbstar2021 2004-01-14
  • 打赏
  • 举报
回复
程序未处理异常系统会调用 UnhandledExceptionFilter 显示那个著名的非法操作对话框

可以使用 SetUnhandledExceptionFilter 设置自定义的未处理异常,显示你需要的东西。

《windows 核心技术》第25章有比较详细的说明
lightwell 2004-01-14
  • 打赏
  • 举报
回复
同意楼上的
rabo 2004-01-13
  • 打赏
  • 举报
回复
看来这个问题有点高难啊!!!
runger 2004-01-13
  • 打赏
  • 举报
回复
我不说话啊!
runger 2004-01-13
  • 打赏
  • 举报
回复
fdf
hell190109 2004-01-13
  • 打赏
  • 举报
回复
就是说当它监测到程序有点不对劲时,就自己先退出去,不等到发生致命错误。
sevencat 2004-01-13
  • 打赏
  • 举报
回复
每次出错抛出一个你自定义的异常,然后在主循环中捕获这个异常进行处理。

hell190109 2004-01-13
  • 打赏
  • 举报
回复
qq是监测到程序发生异常时,就报错,然后自动退出。这个异常还没有到致命错误的级别。
rabo 2004-01-13
  • 打赏
  • 举报
回复
谢谢大家帮我UP.希望真正的高手快快出现.
某鸟 2004-01-13
  • 打赏
  • 举报
回复
找一个异常捕捉的代码来看看吧
flyelf 2004-01-13
  • 打赏
  • 举报
回复
gz
zbl101 2004-01-13
  • 打赏
  • 举报
回复
up
Smallfrogs 2004-01-13
  • 打赏
  • 举报
回复
其实就是一个抛出异常和捕捉异常的过程
rabo 2004-01-13
  • 打赏
  • 举报
回复
再顶.莫非我太弱智了.其实你们已经答好了?而我没看出来?没懂起?
rabo 2004-01-13
  • 打赏
  • 举报
回复
怎么抛出啊,我怎么知道什么时候,在什么地方会出错呢?

要是我知道那个地方在什么时候会出错.我还用得着抛出什么异常吗?
我就直接改好代码就行了啊.

不解,还是不解.能在详细点么?
加载更多回复(2)

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧