次の方法で共有


例外: 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')

こちらも参照ください