Sobes.tech
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("Башка каталар")
}