让c++程序优雅的崩溃
来源:互联网 发布:wang的域名怎么注册 编辑:程序博客网 时间:2024/05/18 21:43
程序崩溃是每一个c++程序员都十分头疼的问题。你可能使用了空指针,可能数组越界。总之在一些乱七八糟的情况下,程序会出现闪退,或者弹出类似如下的对话框等让人难以接受的情况。
为了让我们的程序死的不那么难看,windows提供了一个如下函数:
LPTOP_LEVEL_EXCEPTION_FILTER
WINAPI
SetUnhandledExceptionFilter(
__in_opt LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter
);
由MSDN我们可以知道:当前进程中发送任何异常时,SetUnhandledExceptionFilter都能捕获到,并将调用lpTopLevelExceptionFilter回调函数。
所以在异常发送时 我们可以在lpTopLevelExceptionFilter中做我们想做的时。
LONG CallBackCrashHandler(EXCEPTION_POINTERS *pException) { // 这里你可以做一个漂亮的界面或者其他// MessageBox(NULL,L"哎呀妈,崩溃了",L"错误",MB_OK);return EXCEPTION_EXECUTE_HANDLER; } void Crash() { int i = 13; int j = 0; int m = i / j; printf("%d",m);} int _tmain(int argc, _TCHAR* argv[]) { // 设置处理Unhandled Exception的回调函数 SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER)CallBackCrashHandler); Crash();return 0; }
0 0
- 使用SetUnhandledExceptionFilter让程序优雅的崩溃
- 使用SetUnhandledExceptionFilter让程序优雅的崩溃
- 使用SetUnhandledExceptionFilter让程序优雅的崩溃
- 使用SetUnhandledExceptionFilter让程序优雅的崩溃
- 使用SetUnhandledExceptionFilter让程序优雅的崩溃
- 使用SetUnhandledExceptionFilter让程序优雅的崩溃
- 让c++程序优雅的崩溃
- SetUnhandledExceptionFilter让程序优雅的崩溃
- 使用SetUnhandledExceptionFilter让程序优雅的崩溃
- 使用SetUnhandledExceptionFilter让程序优雅的崩溃
- 如何让程序优雅的崩溃
- SetUnhandledExceptionFilter让程序优雅的崩溃(转)
- iOS 让APP优雅的崩溃
- android全局捕获异常,让app优雅的崩溃
- 让程序崩溃的有头绪
- 让对方崩溃的小程序
- 让你的程序更优雅的sleep
- Linux C 让程序崩溃后生成Core Dump
- 小额现金贷前景不明,手机贷模式难持续?
- hdu 2571 dp入门题
- APP开发目录
- FZU1147
- 期望文件系统格式在“1”到“4”之间;发现格式“6”
- 让c++程序优雅的崩溃
- 想当然的性能调优:加一个SSD
- 王艾辉:极度敏感时期 切勿凭感觉操作(白银价格)
- 使用函数生成excel模板并将excel中的数据导入到内表中
- action中转发和重定向
- 软考-挣值管理-挣值分析
- Delphi单元文件Unit详解
- eclipse导入工程出现大红叹号
- 存储过程