Windows SEH机制(二)

Windows SEH机制(二)

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

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

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

EXCEPTION_CONTINUE_EXECUTION

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

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

软件异常

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

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

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

相关推荐
qq_369224337 天前
Windows全系通用!ntdll.dll文件丢失、报错、闪退问题的完整排查与修复教程
windows·dll·dll修复·dll丢失·dll错误
阿米亚波7 天前
【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统 + 离线软件源
linux·windows·经验分享·笔记·架构·arm
caimouse7 天前
Reactos 第 10 章 网络操作 — 10.3.1 NIC驱动
网络·windows
初圣魔门首席弟子7 天前
Node.js 详细介绍(知识库版)
windows·qt·node.js·知识库
CHENG-JustDoIt8 天前
AI工具 | 爆火开源项目Odysseus AI 工作台:从项目介绍、部署情况及其使用等多方位分析指南(含详细步骤)
大数据·人工智能·windows·python·ai·开源·github
kingbal8 天前
Windows:flutter环境搭建
windows·flutter
未若君雅裁8 天前
Python 数据容器详解,list、tuple、str、set、dict 到底怎么选
windows·python·list
CodeKwang8 天前
Windows 环境 OCCT 8.0 编译构建及与 Qt6 项目集成
windows·qt·opencascade
我是伪码农8 天前
小兔鲜1-25
linux·服务器·windows
vx-Biye_Design8 天前
springboot安阳地区研学旅游服务小程序-计算机毕业设计源码12785
java·vue.js·windows·spring boot·tomcat·maven·mybatis