try, try? ve try!
Swift dilinde, try
, try?
ve try!
ifadeleri hata yakalama işlemini yapmak için kullanılırlar. try
ifadesi hata oluştuğunda programın devam etmesini ve hatanın yönetilmesini sağlar. try?
ifadesi ise hata oluştuğunda nil
değer döndürür. try!
ifadesi ise hata oluştuğunda programın derhal çökmesini sağlar.
Örneğin;
enum CustomError: Error {
case errorA
case errorB
}
func someThrowingFunction() throws -> String {
if someCondition {
throw CustomError.errorA
}
return "No error"
}
do {
try someThrowingFunction()
print("Success")
} catch {
print("Caught error: \(error)")
}
try?
ile birlikte bir işlemin hatalı olma ihtimali vardır ve hata varsa nil
döndürür, yoksa fonksiyonun dönüş değerini döndürür.
Örneğin;
let result = try? someThrowingFunction()
if result != nil {
print("Result: \(result!)")
} else {
print("Caught error")
}
try!
: Bu anahtar kelime ile bir işlemin hata verme ihtimali vardir ancak programmer hatanın oluşmayacağına güvenir ve hatanın olması durumunda uygulamanın çökmesi istenir. Örneğin;
let result = try! someThrowingFunction()
print("Result: \(result)")
Ancak, try!
kullanımı genellikle test veya geliştirme aşamasındaki kodlar için uygun olabilir. Ancak, uygulamanın canlı ortamlarda çalışması sırasında hata oluşması durumunda çökmesi nedeniyle tavsiye edilmez. try?
veya try
gibi daha güvenli seçenekler kullanılmalıdır.