Sobes.tech
Junior — Middle

Čime se razlikuju klase Error i Exception u kontekstu obrade grešaka?

sobes.tech АИ

Одговор од АИ

У 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("Друга грешка")
}