📅  最后修改于: 2021-01-01 14:43:11             🧑  作者: Mango
在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
它生成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