📜  使用failwith关键字进行F#抛出异常

📅  最后修改于: 2021-01-01 14:43:11             🧑  作者: Mango

使用Failwith关键字的F#抛出异常

在F#中,可以显式引发异常。您可以引发自定义异常。您也可以通过使用预定义的Exception方法(例如Failwith和InvalidArgs)来引发异常。
failwith关键字生成system.exception异常。它具有failure关键字来引用异常。让我们来看一个例子。<="" p="">

let TestAgeValidation age  =
  try
     if (age<18) then failwith "Sorry, Age must be greater than 18"
  with
     | Failure(e) -> printfn "%s" e; 
  printf "Rest of the code"
TestAgeValidation 10

输出:

Sorry, Age must be greater than 18
Rest of the code

使用InvalidArg关键字的F#抛出异常

它生成System.ArgumentException。您可以使用InvalidArg引发参数类型异常。让我们来看一个例子。

let TestInvalidArgument age =
 if(age<18) then
  invalidArg "TestInvalidArgument" ("Sorry, Age must be greater than 18")

TestInvalidArgument 10

输出:

System.ArgumentException: Sorry, Age must be greater than 18

>