構造化例外処理
例外 は、プログラムの実行中に発生するイベントであり、通常の制御フローの外部でコードを実行する必要があります。 例外には、ハードウェア例外とソフトウェア例外の 2 種類があります。 ハードウェア例外 は CPU によって開始されます。 0 による除算や無効なメモリ アドレスへのアクセスの試行など、特定の命令シーケンスの実行によって発生する可能性があります。 ソフトウェアの例外 は、アプリケーションまたはオペレーティング システムによって明示的に開始されます。 たとえば、無効なパラメーター値が指定されたときにシステムで検出できます。
構造化例外処理 は、ハードウェアとソフトウェアの両方の例外を処理するためのメカニズムです。 そのため、コードはハードウェアとソフトウェアの例外を同じように処理します。 構造化例外処理を使用すると、例外の処理を完全に制御でき、デバッガーのサポートを提供し、すべてのプログラミング言語とマシンで使用できます。 ベクター化例外処理 は、構造化例外処理の拡張機能です。
システムは 終了処理もサポートしています。これにより、保護されたコード本体が実行されるたびに、指定された終了コード ブロックも確実に実行されます。 終了コードは、制御のフローが保護された本体から離れる方法に関係なく実行されます。 たとえば、終了ハンドラーは、コードの保護された本文の実行中に例外やその他のエラーが発生した場合でも、クリーンアップ タスクが実行されることを保証できます。