在F#中, 可以显式抛出异常。你可以引发自定义异常。你还可以使用Exception的预定义方法(例如Failwith和InvalidArgs)引发异常。 Failwith关键字生成System.Exception异常。它具有Failure关键字来引用异常。让我们来看一个例子。
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
评论前必须登录!
注册