Junior — Middle
Mi a különbség az Error és Exception osztályok között a hibakezelés kontextusában?
sobes.tech MI
Válasz az MI-től
iOS (Swift) rendszerben az Error egy protokoll, amelyet azoknak a típusoknak kell megvalósítaniuk, amelyek leírják azokat a hibákat, amelyeket dobni és kezelni lehet. Exception külön típusként Swiftben nem létezik, de más nyelvekben (pl. Objective-C) a kivételek (NSException) használatosak kritikus hibák esetén, amelyeket általában nem a szokásos try-catch mechanizmussal kezelnek.
Swiftben ajánlott az Error használata és a do-try-catch szerinti kezelés kontrollált hibák esetén, nem pedig kivételek, amelyek váratlan hibákra vannak fenntartva.
Hiba kezelés példája Swiftben:
enum FileError: Error {
case fileNotFound
case unreadable
}
func readFile() throws {
throw FileError.fileNotFound
}
do {
try readFile()
} catch FileError.fileNotFound {
print("Fájl nem található")
} catch {
print("Más hiba")
}