Tipos de exceções (F#)
Há duas categorias de exceções no F#:.Os tipos de exceção NET e tipos de exceção em F#.Este tópico descreve como definir e usar tipos de exceção em F#.
exception exception-type of argument-type
Comentários
Na sintaxe anterior, exception-type é o nome de um novo F# tipo de exceção, e argument-type representa o tipo de argumento que pode ser fornecido ao elevar uma exceção deste tipo.Você pode especificar vários argumentos por meio de um tipo de coleção de itens para argument-type.
Uma definição típica para uma exceção F# é semelhante ao seguinte.
exception MyError of string
Você pode gerar uma exceção desse tipo usando o raise funcionar, da seguinte maneira.
raise (MyError("Error message"))
Você pode usar um tipo de exceção F# diretamente no filtros em um try...with expressão, conforme mostrado no exemplo a seguir.
exception Error1 of string
// Using a tuple type as the argument type.
exception Error2 of string * int
let function1 x y =
try
if x = y then raise (Error1("x"))
else raise (Error2("x", 10))
with
| Error1(str) -> printfn "Error1 %s" str
| Error2(str, i) -> printfn "Error2 %s %d" str i
function1 10 10
function1 9 2
O tipo de exceção que você define com o exception palavra-chave em F# é um novo tipo que herda de Exception.
Consulte também
Referência
Exceções: a aumentar a função (F#)