Junior — Middle
Care este diferența dintre clasele Error și Exception în contextul gestionării erorilor?
sobes.tech AI
Răspuns de la AI
În iOS (Swift), Error este un protocol pe care trebuie să îl implementeze tipurile care descriu erori ce pot fi aruncate și gestionate. Exception ca tip separat nu există în Swift, dar în alte limbaje (de exemplu, Objective-C), excepțiile (NSException) sunt folosite pentru erori critice, care de obicei nu sunt gestionate prin mecanismul obișnuit try-catch.
În Swift, se recomandă utilizarea Error și gestionarea prin do-try-catch pentru erori controlate, și nu excepții, care sunt destinate eșecurilor neașteptate.
Exemplu de gestionare a erorilor în Swift:
enum FileError: Error {
case fileNotFound
case unreadable
}
func readFile() throws {
throw FileError.fileNotFound
}
do {
try readFile()
} catch FileError.fileNotFound {
print("Fișierul nu a fost găsit")
} catch {
print("Altă eroare")
}