Sobes.tech
Junior — Middle

Xatoliklarni boshqarish kontekstida Error va Exception sinflari qanday farq qiladi?

sobes.tech AI

AIdan javob

iOS (Swift) da Error protokol bo'lib, u xatoliklarni tasvirlovchi va chiqarilishi mumkin bo'lgan turlarni amalga oshirishlari kerak. Exception alohida tur sifatida Swiftda mavjud emas, ammo boshqa tillarda (masalan, Objective-C) NSException kabi xatoliklar uchun ishlatiladi va odatda try-catch mexanizmi bilan boshqarilmaydi.

Swiftda, nazorat qilinadigan xatoliklar uchun Error va do-try-catch bilan ishlash tavsiya etiladi, xatoliklar uchun mo'ljallangan, kutilmagan muammolar uchun emas.

Swiftda xatolikni boshqarish misoli:

enum FileError: Error {
    case fileNotFound
    case unreadable
}

func readFile() throws {
    throw FileError.fileNotFound
}

do {
    try readFile()
} catch FileError.fileNotFound {
    print("Fayl topilmadi")
} catch {
    print("Boshqa xato")
}