向量化异常处理

来源:互联网 发布:鼠标编程是什么意思 编辑:程序博客网 时间:2024/06/05 01:08

VEH :
AddVectoredExceptionHandler(0,回调函数)
LONG vehExceptionHandler(EXCEPTION_POINTERS* Exceptioninfo)
VCH :
AddVectoredContinueHandler(0,回调函数)
LONG vchContinueHandler(EXCEPTION_POINTERS* Exceptioninfo)
// 回调函数返回值只有两种情况
EXCEPTION_CONTINUE_EXECUTION : 已经处理,继续执行该指令
EXCEPTION_CONTINUE_SEARCH : 未处理,继续搜索处理块
VEH VCH SEH 之间的关系
调用顺序 :
VEH-SEH-VCH
当VEH表示处理了异常(-1),则该异常不会传递给SEH,但会传递给VCH
当VEH没有处理异常,就会传递给SEH
当SEH的所有异常处理函数没有能够处理异常,会调用默认的SEH处理函数
当SEH处理了异常,从except开始执行,就不会再将异常传递给VCH
当SEH返回异常产生处开始执行,在返回之前会调用VCH