Photo by Mohammad Rahmani / Unsplash

try, try? ve try!

Swift Mar 1, 2023

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.


Tags

Furkan Ozoglu

iOS Developer & Geomatics Engineer