共用方式為


硬體例外狀況

標準的例外狀況的作業系統辨識大多屬於硬體定義的例外狀況。 表示 Windows 已將少數的低層級的軟體例外,但是這些通常建議您連絡的作業系統。

Windows 會對應至例外狀況代碼,本章節中的不同處理器的硬體錯誤。 在某些情況下,處理器可能會產生這些例外狀況的子集。 Windows 會前置處理的例外狀況的相關資訊,並發出適當的例外狀況的程式碼。

由 Windows 所識別的硬體例外,摘要於下表:

例外狀況的程式碼

造成例外狀況

STATUS_ACCESS_VIOLATION

讀取或寫入至無法存取的記憶體位置。

STATUS_BREAKPOINT

遇到硬體所定義的中斷點。 只有使用偵錯工具。

STATUS_DATATYPE_MISALIGNMENT

讀取或寫入資料的位址,不能正確對齊。 比方說,16 位元實體必須在 2 個位元組的界限對齊。 (不適用於 Intel 80xx86 處理器。)

STATUS_FLOAT_DIVIDE_BY_ZERO

除以 0.0 浮點數型別。

STATUS_FLOAT_OVERFLOW

超過最大的正數指數的浮點數型別。

STATUS_FLOAT_UNDERFLOW

超過大小的最小的負指數的浮點數型別。

STATUS_FLOATING_RESEVERED_OPERAND

使用保留的浮點數格式 (格式不正確使用)。

STATUS_ILLEGAL_INSTRUCTION

嘗試執行未定義的處理器的指令碼。

STATUS_PRIVILEGED_INSTRUCTION

執行目前的機器模式中不允許的指令。

STATUS_INTEGER_DIVIDE_BY_ZERO

除以 0 的整數型別。

STATUS_INTEGER_OVERFLOW

企圖超出範圍的整數運算。

STATUS_SINGLE_STEP

執行一個指令逐步執行模式。 只有使用偵錯工具。

例外狀況,如上表所述的許多主要的偵錯工具、 作業系統、 或其他低階程式碼來處理。 整數和浮點數的錯誤,您的程式碼應該不會處理這些錯誤。 因此,您通常應該使用例外狀況處理篩選器忽略例外狀況 (評估為 0)。 否則,您可能會導致較低層級機制無法適當地回應。 您可以,不過,採取適當的預防措施,防止潛在的效果,藉由這些低階錯誤撰寫終止處理常式

請參閱

參考

撰寫例外處理常式

結構化的例外處理 (C++)