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("Другая ошибка")
}