Tipos de excepción (F#)
Hay dos categorías de excepciones en F#: los tipos de excepción de .NET y los tipos de excepción de F#.En este tema se describe cómo definir y utilizar los tipos de excepción de F#.
exception exception-type of argument-type
Comentarios
En la sintaxis anterior, exception-type es el nombre de un nuevo tipo de excepción de F# y argument-type representa el tipo de un argumento que se puede proporcionar cuando se inicia una excepción de este tipo.Se pueden especificar varios argumentos utilizando un tipo de tupla para argument-type.
A continuación se muestra una definición típica para una excepción de F#.
exception MyError of string
Se puede generar una excepción de este tipo mediante la función raise, como sigue.
raise (MyError("Error message"))
Un tipo de excepción de F# se puede utilizar directamente en los filtros de una expresión try...with, como se muestra en el ejemplo siguiente.
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
El tipo de excepción que se define con la palabra clave exception de F# es un nuevo tipo que hereda de Exception.
Vea también
Referencia
Excepciones: función raise (F#)