异常:invalidArg 函数 (F#)

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 "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: Month parameter out of range.

请参见

参考

异常类型 (F#)

异常:try...with 表达式 (F#)

异常:try...finally 表达式 (F#)

异常:raise 函数 (F#)

异常:failwith 函数 (F#)

其他资源

异常处理 (F#)