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("სხვა შეცდომა")
}