複製鏈接
請複製以下鏈接發送給好友

GetExceptionCode

鎖定
返回發生的異常的標識。該宏僅可在異常過濾程序裏(即__except之後的括號裏)或異常處理程序代碼裏面調用。
中文名
GetExceptionCode
外文名
GetExceptionCode
概    述
返回發生的異常的標識
函數原型
DWORD GetExceptionCode(void)
參    數
該宏沒有參數

GetExceptionCode程序介紹

Note The Microsoft C/C++ Optimizing Compiler interprets this function as a keyword, and its use outside the appropriate exception-handling syntax generates a compiler error.

GetExceptionCode函數原型

DWORD GetExceptionCode(void); [1] 

GetExceptionCode參數

該宏沒有參數

GetExceptionCode返回值

返回值標識着異常的類型。程序運行中可能拋出的異常類型在下面的表格中描述。這些值定義在
Winbase.h 和 Winnt.h中.
硬件異常即由CPU引發的異常,Windows定義了以下的硬件異常代碼: [2] 
異常
描述
EXCEPTION_ACCESS_VIOLATION
0xC0000005
程序企圖讀寫一個不可訪問的地址時引發的異常。例如企圖讀取0地址處的內存。
EXCEPTION_ARRAY_BOUNDS_EXCEEDED
0xC000008C
數組訪問越界時引發的異常。
EXCEPTION_BREAKPOINT
0x80000003
觸發斷點時引發的異常。
EXCEPTION_DATATYPE_MISALIGNMENT
0x80000002
程序讀取一個未經對齊的數據時引發的異常。
EXCEPTION_FLT_DENORMAL_OPERAND
0xC000008D
如果浮點數操作的操作數是非正常的,則引發該異常。所謂非正常,即它的值太小以至於不能用標準格式表示出來。
EXCEPTION_FLT_DIVIDE_BY_ZERO
0xC000008E
浮點數除法的除數是0時引發該異常。
EXCEPTION_FLT_INEXACT_RESULT
0xC000008F
浮點數操作的結果不能精確表示成小數時引發該異常。
EXCEPTION_FLT_INVALID_OPERATION
0xC0000090
該異常表示不包括在這個表內的其它浮點數異常。
EXCEPTION_FLT_OVERFLOW
0xC0000091
浮點數的指數超過所能表示的最大值時引發該異常。
EXCEPTION_FLT_STACK_CHECK
0xC0000092
進行浮點數運算時棧發生溢出或下溢時引發該異常。
EXCEPTION_FLT_UNDERFLOW
0xC0000093
浮點數的指數小於所能表示的最小值時引發該異常。
EXCEPTION_ILLEGAL_INSTRUCTION
0xC000001D
程序企圖執行一個無效的指令時引發該異常。
EXCEPTION_IN_PAGE_ERROR
0xC0000006
程序要訪問的內存頁不在物理內存中時引發的異常。
EXCEPTION_INT_DIVIDE_BY_ZERO
0xC0000094
整數除法的除數是0時引發該異常。
EXCEPTION_INT_OVERFLOW
0xC0000095
整數操作的結果溢出時引發該異常。
EXCEPTION_INVALID_DISPOSITION
0xC0000026
異常處理器返回一個無效的處理的時引發該異常。
EXCEPTION_NONCONTINUABLE_EXCEPTION
0xC0000025
發生一個不可繼續執行的異常時,如果程序繼續執行,則會引發該異常。
EXCEPTION_PRIV_INSTRUCTION
0xC0000096
程序企圖執行一條當前CPU模式不允許的指令時引發該異常。
EXCEPTION_SINGLE_STEP
0x80000004
標誌寄存器的TF位為1時,每執行一條指令就會引發該異常。主要用於單步調試。
EXCEPTION_STACK_OVERFLOW
0xC00000FD
棧溢出時引發該異常。
參考資料