Sobes.tech
Junior — Middle

Hata işleme bağlamında Error ve Exception sınıfları arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

iOS (Swift) içinde, Error hatalar tanımlayan ve atılabilir, işlenebilir türlerin uygulaması gereken bir protokoldür. Swift'te Exception adlı ayrı bir tür yoktur, ancak diğer dillerde (örneğin Objective-C) kritik hatalar için kullanılan NSException gibi istisnalar vardır ve bunlar genellikle try-catch mekanizmasıyla işlenmez.

Swift'te, kontrol edilen hatalar için Error kullanılması ve do-try-catch ile işlenmesi önerilir; istisnalar ise beklenmeyen arızalar içindir.

Swift'te hata işleme örneği:

enum FileError: Error {
    case fileNotFound
    case unreadable
}

func readFile() throws {
    throw FileError.fileNotFound
}

do {
    try readFile()
} catch FileError.fileNotFound {
    print("Dosya bulunamadı")
} catch {
    print("Başka bir hata")
}