Junior — Middle
V čom spočíva rozdiel medzi triedami Error a Exception v kontexte spracovania chýb?
sobes.tech AI
Odpoveď od AI
V iOS (Swift) je Error protokol, ktorý musia implementovať typy opisujúce chyby, ktoré môžu byť vyhodené a spracované. Exception ako samostatný typ v Swift nie je, ale v iných jazykoch (napríklad Objective-C) sa výnimky (NSException) používajú na kritické chyby, ktoré sa zvyčajne nespracovávajú bežným mechanizmom try-catch.
V Swift sa odporúča používať Error a spracovanie pomocou do-try-catch pre riadené chyby, nie výnimky určené na nepredvídané zlyhania.
Príklad spracovania chyby v Swift:
enum FileError: Error {
case fileNotFound
case unreadable
}
func readFile() throws {
throw FileError.fileNotFound
}
do {
try readFile()
} catch FileError.fileNotFound {
print("Súbor sa nenašiel")
} catch {
print("Iná chyba")
}