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")
}