Partilhar via


Exceções: A função invalidArg

A invalidArg função gera uma exceção de argumento.

Sintaxe

invalidArg parameter-name error-message-string

Observações

O nome do parâmetro na sintaxe anterior é uma cadeia de caracteres com o nome do parâmetro cujo argumento era inválido. A cadeia de caracteres de mensagem de erro é uma cadeia de caracteres literal ou um valor do tipo string. Torna-se a Message propriedade do objeto de exceção.

A exceção gerada por invalidArg é uma System.ArgumentException exceção. O código a seguir ilustra o uso de invalidArg para lançar uma exceção.

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)

A saída é a seguinte, seguida por um rastreamento de pilha (não mostrado).

December
January
System.ArgumentException: Value passed in was 13. (Parameter 'month')

Consulte também