异常:invalidArg 函数

invalidArg 函数生成参数异常。

语法

invalidArg 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')

另请参阅