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