Исключения: функция invalidArg

Функция invalidArg создает исключение аргумента.

Синтаксис

invalidArg parameter-name error-message-string

Замечания

Имя параметра в предыдущем синтаксисе — это строка с именем параметра, аргумент которого недопустим. Строка сообщения об ошибке — это литеральная строка или значение типаstring. Он становится свойством Message объекта исключения.

Исключение, созданное System.ArgumentException с помощью invalidArg исключения, является исключением. Следующий код иллюстрирует использование 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')

См. также