博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
异常处理.VC++
阅读量:5106 次
发布时间:2019-06-13

本文共 1676 字,大约阅读时间需要 5 分钟。

ZC:个人这样 理解 C++的异常处理:

ZC:  (1)、C++标准异常处理,try{}catch{}  抛异常:throw() [ 据说是包装的Windows函数RaiseException() ]

ZC:  (2)、VC++异常处理 __try{}__except{}  抛异常:RaiseException()  两个宏:GetExceptionCode() & GetExceptionInformation()

ZC:  (3)、CRT 包装后的异常处理

 

1、资料:

  1.1、C++及Windows异常处理(try,catch; __try,__finally; __try, __except)——一道笔试题引起的探究 - CSDN博客.html()

  1.2、

    try except and try catch - CSDN博客.html()

    WINCE驱动常见的C++ 之try-except - 温子祺 - 博客园.html()

 

  ZC:记得之前看到文章 说,VS 会修改 异常处理的处理,忘了是什么知识点了...

  ZC:  貌似是搜索“VC 崩溃 不生成 dump VS”,大概是 “使用VS2005(VC8)编译的程序,许多错误都不能在SetUnhandledExceptionFilter捕获到。这是CRT相对于前面版本的一个比较大的改变,但是很遗憾,Microsoft却没有在相应的文档明确指出。”

2、

3、测试代码:

long WINAPI FilterFunc01(char* _pcFuncName, DWORD _dwExceptionCode){    //return (_dwExceptionCode == STATUS_STACK_OVERFLOW) ? EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH;    sprintf_s(g_bufLogTemp, sizeof(g_bufLogTemp),        "[%s] ==> ==> ==> [Exception] FilterFunc(...) - _dwExceptionCode : %d(0x%08X)", _pcFuncName, _dwExceptionCode, _dwExceptionCode);    RemoteLog_IndentInside_M01(g_pCommunicator->Frole, g_bufLogTemp);    return EXCEPTION_EXECUTE_HANDLER;    // #define STATUS_SEGMENT_NOTIFICATION      ((DWORD   )0x40000005L)     //STATUS_STACK_OVERFLOW}void SomeTestFunc(){    __try    {
... ... } __except ( FilterFunc01( bufCCC, GetExceptionCode() ) ) //__except ( FilterFunc01( bufCCC, GetExceptionCode() ) ) { //STATUS_STACK_OVERFLOW //STATUS_ACCESS_VIOLATION ((DWORD )0xC0000005L) //STATUS_ILLEGAL_INSTRUCTION ((DWORD )0xC000001DL) //AnswerJustResult(pcBlock, iRst); }// __except}

 

4、

5、

 

转载于:https://www.cnblogs.com/cppskill/p/9156524.html

你可能感兴趣的文章
IOS获取图片方法,避免内存过大闪退
查看>>
HTTPConnectionPool(host:XX)Max retries exceeded with url 解决方法
查看>>
Java性能的十一个用法
查看>>
CodeForces 515C
查看>>
Linq系列(9)——表达式树之完结(案例与总结)
查看>>
vscode圣诞帽
查看>>
初学java之JFrame窗口模式
查看>>
hdu 3367(Pseudoforest ) (最大生成树)
查看>>
一个as3工具类
查看>>
Andriod软件开发-EditView
查看>>
基于jQuery消息提示框插件Tipso
查看>>
看了就很快学会jQuery
查看>>
30分钟搞定iOS自定义相机
查看>>
CodeForces - 1114D Flood Fill (区间dp)
查看>>
数据库 之 关系模式范式
查看>>
C# 之 无法嵌入互操作类型(Word 或 Excel 操作)
查看>>
SQL 之 查询操作重复记录
查看>>
Java之美[从菜鸟到高手演变]之JVM内存管理及垃圾回收
查看>>
在线生成按钮,码农们应该收藏
查看>>
【知识分享】嵌入式应用程序开发,Windows环境一键编译下载
查看>>