Junior — Middle
Ի՞նչն է տարբերությունը Error և Exception դասերի միջև սխալների մշակման կոնտեքստում։
sobes.tech AI
Պատասխան AI-ից
iOS (Swift) համակարգում, Error պրոտոկոլ է, որը պետք է իրականացնել այն տիպերը, որոնք նկարագրում են սխալները, որոնք կարող են նետվել և մշակվել։ Exception որպես առանձին տիպ Swift-ում չկա, բայց այլ լեզուներում (օրինակ, Objective-C) արտակարգ իրավիճակները (NSException) օգտագործվում են կարևոր սխալների համար, որոնք սովորաբար չեն մշակվում սովորական try-catch մեխանիզմով։
Swift-ում խորհուրդ է տրվում օգտագործել Error և մշակումը do-try-catch միջոցով վերահսկվող սխալների համար, այլ ոչ թե արտակարգ իրավիճակներ, որոնք նախատեսված են անսպասելի ձախողումների համար։
Սխալի մշակման օրինակ Swift-ում՝
enum FileError: Error {
case fileNotFound
case unreadable
}
func readFile() throws {
throw FileError.fileNotFound
}
do {
try readFile()
} catch FileError.fileNotFound {
print("Ֆայլը չի գտնվել")
} catch {
print("Այլ սխալ")
}