次の方法で共有


ハードウェア例外

オペレーティング システムによって認識される標準の例外のほとんどはハードウェア定義された例外です。Windows は下位レベルのソフトウェアの例外を認識しますがオペレーティング システムによって処理される通常これらをお勧めします。

Windows はこのセクションの例外コードに異なるプロセッサ ハードウェア エラーをマップします。場合によってはプロセッサはこのような例外のサブセットのみを生成できます。Windows が例外に関する情報をプリプロセスし適切な例外コードを実行します。

Windows で認識されるハードウェア例外を次の表に示します。:

例外コード

例外の原因

STATUS_ACCESS_VIOLATION

アクセスできないメモリ位置への読み取りまたは書き込み。

STATUS_BREAKPOINT

ハードウェア定義されたブレークポイントに達すると ; デバッガーでのみ使用されます。

STATUS_DATATYPE_MISALIGNMENT

適切に配置されていない任意のアドレス データの読み取りまたは書き込み ; たとえば16 ビットのエンティティはバイト境界上に配置する必要があります。Intel (80x86 のプロセッサには適用できません)。

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

シングル ステップモードの 1 種類の命令の実行 ; デバッガーでのみ使用されます。

前の表に示した例外の多くはデバッガーオペレーティング システムまたは他の低水準コードによって処理されることを意図しています。整数と浮動小数点のエラーを除きこれらのエラーを処理しないでください。したがって通常は例外を無視するために例外のフィルター処理を使用する必要があります (0 に評価します)。は低レベルの機能が適切に応答することを防ぐことができます。ただし終了ハンドラーの作成 にこれらの低レベルのエラーの潜在的な効果に対する適切な対策を講じることができます。

参照

関連項目

例外ハンドラーを記述します。

構造化例外処理 (C++)