例外処理Exception Handling

このセクションでは、F# 言語での例外処理のサポートについて説明します。This section contains information about exception handling support in the F# language.

例外処理の基礎Exception Handling Basics

例外処理は、.NET Framework においてエラー条件を処理するための標準的な方法です。Exception handling is the standard way of handling error conditions in the .NET Framework. したがって、F# を含むすべての .NET 言語でこのメカニズムがサポートされている必要があります。Thus, any .NET language must support this mechanism, including F#. 例外は、エラーに関する情報をカプセル化するオブジェクトです。An exception is an object that encapsulates information about an error. エラーが発生すると、例外が生成され、通常の実行が停止します。When errors occur, exceptions are raised and regular execution stops. 代わりに、ランタイムによって適切な例外ハンドラーが検索されます。Instead, the runtime searches for an appropriate handler for the exception. 検索は、現在の関数で開始され、一致するハンドラーが見つかるまで、呼び出し元のレイヤーのスタックを上位に向かって検索します。The search starts in the current function, and proceeds up the stack through the layers of callers until a matching handler is found. 見つかったハンドラーが実行されます。Then the handler is executed.

また、スタックはアンワインドされているため、ランタイムによって finally ブロック内のコードがすべて実行されます。これにより、アンワインド プロセスでオブジェクトが適切にクリーンアップされることが保証されます。In addition, as the stack is unwound, the runtime executes any code in finally blocks, to guarantee that objects are cleaned up correctly during the unwinding process.

TitleTitle 説明Description
例外の種類Exception Types 例外の種類を宣言する方法について説明します。Describes how to declare an exception type.
例外: try...withExceptions: The try...with Expression 例外処理をサポートする言語構成要素について説明します。Describes the language construct that supports exception handling.
例外: try...finallyExceptions: The try...finally Expression 例外がスローされたときに、クリーンアップ コードをスタック アンワインドとして実行するための言語構成要素について説明します。Describes the language construct that enables you to execute clean-up code as the stack unwinds when an exception is thrown.
例外: raise 関数Exceptions: the raise Function 例外オブジェクトをスローする方法について説明します。Describes how to throw an exception object.
例外: failwith 関数Exceptions: The failwith Function F# の一般的な例外を生成する方法について説明します。Describes how to generate a general F# exception.
例外: invalidArg 関数Exceptions: The invalidArg Function 無効な引数の例外を生成する方法について説明します。Describes how to generate an invalid argument exception.