次の方法で共有


例外処理 (エラー処理)

例外は、ハードウェアまたはソフトウェアによって開始され、カーネル モードとユーザー モード コードで発生する可能性があります。 構造化例外処理は、カーネル モードとユーザー モードの例外を処理するための 1 つのメカニズムを提供します。

特定の命令シーケンスを実行すると、ハードウェアによって開始される例外が発生する可能性があります。 たとえば、プロセスが適切なアクセス権を持たない仮想アドレスに対して読み取りまたは書き込みを試みた場合、ハードウェアによってアクセス違反が生成されます。

例外処理を必要とするイベントは、ソフトウェア ルーチンの実行中に発生する場合もあります (無効なパラメーター値が指定された場合など)。 この場合、スレッドは RaiseException 関数を呼び出すことによって例外を明示的に開始できます。 この関数を使用すると、呼び出し元のスレッドは例外を説明する情報を指定できます。

例外には、続行可能または続行不可能の場合があります。 続行不可能な例外は、イベントがハードウェアで続行できない場合、または続行が意味がない場合に発生します。 続行不可能な例外が発生してもアプリケーションは終了しません。 そのため、アプリケーションで例外をキャッチして実行できる場合があります。 ただし、続行不可能な例外は通常、スタックの破損またはその他の重大な問題の結果として発生するため、例外からの回復が困難になります。