windows的SEH2异常
来源:互联网 发布:阿里云服务器快照回滚 编辑:程序博客网 时间:2024/05/17 18:44
C++提供了异常支持,但还有一些异常一般情况下C++是捕获不到的。比如浮点异常(除零),访问异常(内存地址违规访问)等。如果一旦出现这种异常,默认情况下会导致整个进程崩溃.
但windows内部也实现了一种异常机制,用来捕获这些问题。这种异常称为SEH(structure exception handle)异常。SEH实质上是一种链式注册式异常,各个函数向系统注册异常句柄,当发生异常时,系统查询已注册的异常处理句柄,找到对应的则执行之,否则使用默认的异常处理句柄。
现在我使用的VS.2005 CTP版本可以在C++中自动实现这个功能,只需要在编译器选项
project properties->C/C++->Code Generation->Enable C++ Exceptions ,选择 Yes(/EHsc) 启动SEH异常支持
这样就可以在程序把SEH异常当成普通C++异常来使用了。
不过要注意的是,SEH异常的类型只有一种,就是long型的数字,表示SEH的异常的编号
如
0x00000005表示访问违规等。
但windows内部也实现了一种异常机制,用来捕获这些问题。这种异常称为SEH(structure exception handle)异常。SEH实质上是一种链式注册式异常,各个函数向系统注册异常句柄,当发生异常时,系统查询已注册的异常处理句柄,找到对应的则执行之,否则使用默认的异常处理句柄。
现在我使用的VS.2005 CTP版本可以在C++中自动实现这个功能,只需要在编译器选项
project properties->C/C++->Code Generation->Enable C++ Exceptions ,选择 Yes(/EHsc) 启动SEH异常支持
这样就可以在程序把SEH异常当成普通C++异常来使用了。
不过要注意的是,SEH异常的类型只有一种,就是long型的数字,表示SEH的异常的编号
如
0x00000005表示访问违规等。
- windows的SEH2异常
- Windows 异常
- C++异常和Windows结构异常的比较
- C++异常和Windows结构异常的比较
- 我理解的windows异常处理
- 我理解的windows异常处理
- 我理解的windows异常处理
- Windows XP下的向量异常处理
- Windows的结构化异常处理
- Windows“搜索”功能异常的处理办法
- Windows XP下的向量异常处理
- Windows“搜索”功能异常的处理办法
- windows 操作系统的SEH 异常处理
- 小议Windows平台下的异常处理
- Windows Phone 7 异常的人性化处理
- [php]windows下的curl异常
- Windows下C++的异常处理
- Ubuntu/Windows双系统导致Windows系统时间异常的解决方法
- 基于声卡的数据采集和分析软件
- [转]:一位HR管理者的离职感悟
- 在DB2 UDB V8.1中使用裸(raw)设备
- 24了,纪念一下^_^
- SAS使用技巧- 动态抓取外部URL的网友内容
- windows的SEH2异常
- 运10之死与中国民航飞机工业的复兴
- 运10飞机争论引起的思考
- 中国软件产业发展中的问题与思路(转载)
- 当年运10果断下马是中国民用飞机工业的福音
- v$transaction
- 升级DB2 UDB V8.1的补丁包到级别 6
- 关于运10飞机讨论中的几大误区
- 用CAPI实现notes的邮件提醒