Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Hay dos categorías de excepciones en F#: tipos de excepciones de .NET y tipos de excepción de F#. En este tema se describe cómo definir y usar tipos de excepciones de F#.
Sintaxis
exception exception-type of argument-type
Observaciones
En la sintaxis anterior, el tipo de excepción es el nombre de un nuevo tipo de excepción de F# y el tipo de argumento representa el tipo de un argumento que se puede proporcionar al generar una excepción de este tipo. Puede especificar varios argumentos mediante un tipo de tupla para el tipo de argumento.
Una definición típica de una excepción de F# es similar a la siguiente.
exception MyError of string
Puede generar una excepción de este tipo mediante la raise función , como se indica a continuación.
raise (MyError("Error message"))
Puede usar un tipo de excepción de F# directamente en los filtros de una try...with expresión, 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 exception palabra clave en F# es un nuevo tipo que hereda de System.Exception.
Consulte también
- Manejo de Excepciones
-
Excepciones: la
raisefunción - Jerarquía de excepciones