Windows SEH机制(二)

Windows SEH机制(二)

书接上文,我们继续讨论异常过滤器和异常处理程序。

上文我们讨论了EXCEPTION_EXECUTE_HANDLER。当try块中发生异常时,如果异常过滤程序求得的值为EXCEPTION_EXECUTE_HANDLER,那么系统就会开始执行except代码块中的代码。

EXCEPTION_CONTINUE_SEARCH表示我们希望继续向上查找可以处理该异常的except块。

EXCEPTION_CONTINUE_EXECUTION

异常过滤程序计算得到这个值说明我们希望重新执行发生异常的代码,这通常表示我们已经在异常过滤程序中处理了异常(不推荐)。

一个异常发生后,进程或线程已经变得不稳定,所以尽可能让异常过滤程序简单。

软件异常

之前讨论的都是硬件异常,也就是由CPU捕获的并抛出的异常。我们自己也可以在程序中抛出异常。

要抛出一个软件异常,可以使用RaiseException函数。

推荐使用软件异常与SEH结合来处理错误,而不是返回一个失败值给上级函数。

相关推荐
蓝斯4971 天前
从.到实现一个Windows上的虚拟hid键盘设备
windows·单片机·计算机外设
CODER03041 天前
封装忽律底层硬件差异的自定义系统
windows·microsoft
软件资深者1 天前
Windows10、11轻松设置 使用教程:把Windows繁杂的设置集成到一个面板,关广告/关更新/调隐私全搞定,系统设置工具新手 5 分钟上手(2026)
windows
脚踏实地皮皮晨1 天前
003005002_WPF StackPanel 基类官方类定义逐行深度解析
开发语言·windows·算法·c#·wpf·visual studio
YCOSA20251 天前
Windows 11 Insider 实验预览版 26300.9032 基于26100.6(检查点26100.1746)
windows
happymagic1 天前
vmware workstation Pro 虚拟机设定启停的时间段
运维·服务器·windows
PC2005-cloud1 天前
Windows 下 WSL2 + Docker Desktop + Ubuntu 开发环境搭建指南
windows·ubuntu·docker
王维同学1 天前
跨位数进程的映像、命令行与环境块读取
c++·windows·安全
蛊明1 天前
一台老 ThinkPad 的系统博物馆:Windows、Ubuntu、UOS、Kylin多系统共存方案
windows·ubuntu·kylin
Moshow郑锴1 天前
qlik-cli - Get started with examples
服务器·windows·microsoft