Aracılığıyla paylaş


Özel durum türü (F#)

F# özel durumlar iki kategoriye ayrılır:.net özel durum türleri ile F# özel durum türleri. Bu konuda nasıl tanımlamak ve F# özel durum türleri açıklanmaktadır.

exception exception-type of argument-type

Notlar

Önceki sözdiziminde, exception-type yeni F# özel durum türü, adı ve argument-type bu tür bir özel durum sağlanabilir, bir bağımsız değişken türünü temsil eder. Bir kayıt düzeni türünü kullanarak birden çok bağımsız değişkenleri belirtebilirsiniz argument-type.

F# özel durumun tipik bir tanımı aşağıdakine benzer.

exception MyError of string

Kullanarak bu tür bir özel durum oluşturabilir raise gibi işlev.

raise (MyError("Error message"))

Bir F# özel durum türü doğrudan filtrelerini kullanabileceğiniz bir try...with ifade, aşağıdaki örnekte gösterildiği gibi.

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

İle tanımladığınız özel durum türü exception F# anahtar sözcüğü temel alındığı yeni bir türü olan Exception.

Ayrıca bkz.

Başvuru

Özel durumlar: alçaltma işlevini (F#)

Kavramlar

Özel durum hiyerarşisi

Diğer Kaynaklar

Özel durum işleme (F#)