异常:invalidArg 函数
invalidArg
函数会生成实参异常。
语法
invalidArg parameter-name error-message-string
备注
前面的语法中的 parameter-name 是一个字符串,其中包含实参无效的形参的名称。 error-message-string 是文本字符串或 string
类型的值。 它将成为异常对象的 Message
属性。
invalidArg
生成的异常是 System.ArgumentException
异常。 以下代码说明了使用 invalidArg
会如何引发异常。
let months = [| "January"; "February"; "March"; "April";
"May"; "June"; "July"; "August"; "September";
"October"; "November"; "December" |]
let lookupMonth month =
if (month > 12 || month < 1)
then invalidArg (nameof month) (sprintf "Value passed in was %d." month)
months[month - 1]
printfn "%s" (lookupMonth 12)
printfn "%s" (lookupMonth 1)
printfn "%s" (lookupMonth 13)
输出如下所示,后跟堆栈跟踪(未显示)。
December
January
System.ArgumentException: Value passed in was 13. (Parameter 'month')