SEH结构化异常处理
SEH结构化异常处理
计算机领域异常:打断程序正常执行流程,不在期望之中的硬件和软件的异常
硬件一般指CPU抛出的问题,例如除以0,数据溢出等
软件一般指操作系统与程序通过exception语句抛出的异常
结构化异常处理和异常处理是微软对异常处理程序在实现上的不同
普通C++异常处理:使用3条附加的C++语句
try catch throw
作用:当正在执行的程序出现异常时,允许其找到安全出口。异常处理程序可捕获任何数据异常情况,包括C++类
try ……except……函数和try…… finally…… 不可以同时使用但是可以嵌套
异常程序可释放已获取资源,显示出的信息和程序内部状态供调试,使得调试从错误中恢复,尝试重新执行代码/关闭程序
故障,例如页面故障——恢复到引起故障的指令之前的状态,然后再次执行一次,发生故障异常后程序仍能正常执行
陷阱——立即报告错误,返回地址为引起异常的下一条的地址
终止——不会报告精确位置且不允许重新执行
从左往右依次是——向量号 助记符 说明 类型 错误号 产生源
SIMD 浮点异常
21-31 Intel 保留位
SEH 使得拥有回调函数的最后机会
对齐检查 Alignment check
可由任何对内存数据的引用除法
SEH结构化异常处理
http://example.com/2024/03/08/SEH结构化异常处理/