GetExceptionCode

EXCEPTION_FLT_DIVIDE_BY_ZERO0xC000008E浮點數除法的除數是0時引發該異常。 EXCEPTION_FLT_OVERFLOW0xC0000091浮點數的指數超過所能表示的最大值時引發該異常。 EXCEPTION_FLT_UNDERFLOW0xC0000093浮點數的指數小於所能表示的最小值時引發該異常。

返回發生的異常的標識。該宏僅可在異常過濾程式里(即__except之後的括弧里)或異常處理程式代碼裡面調用。
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.函式原型

DWORD GetExceptionCode(void);

參數

該宏沒有參數

返回值

返回值標識著異常的類型。程式運行中可能拋出的異常類型在下面的表格中描述。這些值定義在
Winbase.h 和 Winnt.h中.
硬體異常即由CPU引發的異常,Windows定義了以下的硬體異常代碼:

異常 描述
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 棧溢出時引發該異常。

相關詞條

相關搜尋

熱門詞條

聯絡我們