Sobes.tech
Junior — Middle

Xəta idarəetməsi kontekstində Error və Exception sinifləri arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

iOS (Swift) daxilində, Error protokoldur və xətaları təsvir edən və atıla bilən tiplər tərəfindən tətbiq olunmalıdır. Exception kimi ayrıca bir tip Swift-də mövcud deyil, amma digər dillərdə (məsələn, Objective-C) kritik xətalar üçün istifadə olunan NSException kimi istisnalar mövcuddur və adətən try-catch mexanizmi ilə idarə olunmur.

Swift-də, idarə olunan xətalar üçün Error istifadə etmək və do-try-catch ilə idarə etmək tövsiyə olunur, gözlənilməz uğursuzluqlar üçün nəzərdə tutulmuş istisnalar deyil.

Swift-də xəta idarəetmə nümunəsi:

enum FileError: Error {
    case fileNotFound
    case unreadable
}

func readFile() throws {
    throw FileError.fileNotFound
}

do {
    try readFile()
} catch FileError.fileNotFound {
    print("Fayl tapılmadı")
} catch {
    print("Başqa xəta")
}