Özel Durum Türleri
F# dilinde iki özel durum kategorisi vardır: .NET özel durum türleri ve F# özel durum türleri. Bu konuda F# özel durum türlerinin nasıl tanımlanacağı ve kullanılacağı açıklanmaktadır.
Sözdizimi
exception exception-type of argument-type
Açıklamalar
Önceki söz diziminde, özel durum türü yeni bir F# özel durum türünün adıdır ve bağımsız değişken türü , bu tür bir özel durum oluştururken sağlanacak bağımsız değişkenin türünü temsil eder. Bağımsız değişken türü için bir tanımlama grubu türü kullanarak birden çok bağımsız değişken belirtebilirsiniz.
F# özel durumu için tipik bir tanım aşağıdakine benzer.
exception MyError of string
aşağıdaki gibi işlevini kullanarak raise
bu tür bir özel durum oluşturabilirsiniz.
raise (MyError("Error message"))
Aşağıdaki örnekte gösterildiği gibi bir F# özel durum türünü doğrudan bir try...with
ifadedeki filtrelerde kullanabilirsiniz.
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
F# içinde anahtar sözcüğüyle exception
tanımladığınız özel durum türü, öğesinden System.Exception
devralan yeni bir türdür.
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin