F# には、.NET 例外の種類と F# 例外の種類の 2 つのカテゴリがあります。 このトピックでは、F# 例外の種類を定義して使用する方法について説明します。
構文
exception exception-type of argument-type
注釈
前の構文では、 exception-type は新しい F# 例外型の名前であり、 引数型 は、この型の例外を発生させたときに指定できる引数の型を表します。 引数型のタプル型を使用して、複数の引数を指定できます。
F# 例外の一般的な定義は次のようになります。
exception MyError of string
次のように、 raise
関数を使用して、この型の例外を生成できます。
raise (MyError("Error message"))
次の例に示すように、F# 例外の種類は、 try...with
式のフィルターで直接使用できます。
exception Error1 of string
// Using a tuple type as the argument type.
exception Error2 of string * int
let function1 x y =
try
if x = y then raise (Error1("x"))
else raise (Error2("x", 10))
with
| Error1(str) -> printfn "Error1 %s" str
| Error2(str, i) -> printfn "Error2 %s %d" str i
function1 10 10
function1 9 2
F# で exception
キーワードを使用して定義する例外の種類は、 System.Exception
から継承する新しい型です。
こちらも参照ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET