İçeriğe geç

Swift ile Closures Rethrows kullanımı

swiftMerhabalar bu yazımda Swift 2.0‘dan sonra gelen throws yani hata yakalayıcıların fonksiyon içinde çağrıldığında nasıl kullanılması gerekli buna örnek vereceğim.

Bu işlemi Rethrows operatorunu fonksiyonda kullanarak hallediyoruz bu özellik closures için throw kullanımını sağlamakta.

Aşağıdaki örnek güzelce bu konuyu açıklıyor.

Fonksiyon içerisinde callback’i çağırırken try kullanmassanız hata vericektir.

enum errors:ErrorType {
    
    case failed(String)
    case crash(String)
}


func tryFunc(callback:(x:Int,y:Int) throws -> Void) rethrows {
    
        try callback(x: 2,y: 8)   
}

do {
    
    try tryFunc { (x, y) in
        
        if x > y {
            
            throw errors.failed("x > y")
            
        } else {
            throw errors.crash("x < y")
        }
        
    }
    
} catch errors.crash(let e) {
 
    print(e) // x < y
}

 

 

Tarih:Swift

Bu yazı yorumlara kapalı.

Copyright © 2020 Kenan Atmaca