GetExceptionCode

返回發生的異常的標識。該宏僅可在異常過濾程式里(即__except之後的括弧里)或異常處理程式代碼裡面調用。

基本介紹

  • 中文名:GetExceptionCode
  • 概述:返回發生的異常的標識
  • 函式原型:DWORD GetExceptionCode(void)
  • 參數:該宏沒有參數
程式介紹,函式原型,參數,返回值,

程式介紹

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

相關詞條

熱門詞條

聯絡我們