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