RaiseException

RaiseException【RaiseException】RaiseException是编程中一个函式,该函式是用来抛出一个调用执行绪时发生的异常 。
基本介绍外文名:RaiseException
性质:计算机
类别:编程
属于:函式
语法void WINAPI RaiseException(__in DWORD dwExceptionCode,__in DWORD dwExceptionFlags,__in DWORD nNumberOfArguments,__in const ULONG_PTR *lpArguments );dwExceptionCode一个在抛出异常时应用程式定义的异常代码 。该筛选表达式和异常处理程式的异常处理程式块可以使用GetExceptionCode函式获得它的值 。请注意,系统会在显示信息之前清除dwExceptionCode参数的第28位,该位是一个系统保留的异常位,仅供系统自身使用 。dwExceptionFlags异常标誌 。这可以赋值为零,表示一个可持续异常,或者使用EXCEPTION_NONCONTINUABLE标誌来表示一个不可持续的异常 。发生不可持续的异常后,任何企图继续执行的行为将导致触EXCEPTION_NONCONTINUABLE_EXCEPTION异常 。nNumberOfArguments表示lpArguments参数数组中的参数个数 。这个值不能超过EXCEPTION_MAXIMUM_PARAMETERS 。如果lpArguments为NULL ,则忽略此参数 。lpArguments一个参数数组 。这个参数可以是NULL 。这些参数可以包含任何应用程式所定义的数据,而这些数据需要传递给异常处理程式的筛选表达式 。返回值这个函式没有返回值 。备注该函式启用一个进程并使用结构化异常处理来处理私有的,软体生成的和应用程式定义的异常 。一个异常处理程式在引发异常并导致异常调度的时候需要经过以下步骤的处理:1.如果有调试器,系统首先尝试通知进程的调试器 。2.如果这一进程不被调试,或者相关的调试器不处理异常,系统将尝试通过搜寻发生异常的执行绪的堆叠来定位一个基于帧的异常处理程式 。系统首先会搜寻当前栈帧,然后继续向后搜寻栈帧 。3.如果没有找到基于帧的异常处理程式,或没有基于帧的异常处理程式处理该异常,系统将会第二次尝试通知进程的调试器 。4.如果该进程仍未被调试,或者相关的调试器不处理异常,系统以异常类型为基础提供默认的处理程式 。对于大多数异常,默认动作是调用ExitProcess函式 。要求最低支持的客户端Windows 2000专业版最低支持的伺服器Windows 2000伺服器头档案WINBASE.H中(包括Windows.h中)库档案Kernel32.libDLLKernel32.dll