Junior — Middle
Qual è la differenza tra le classi Error e Exception nel contesto della gestione degli errori?
sobes.tech AI
Risposta dell'AI
In iOS (Swift), Error è un protocollo che devono implementare i tipi che descrivono errori che possono essere sollevati e gestiti. Exception come tipo separato non esiste in Swift, ma in altri linguaggi (ad esempio Objective-C) le eccezioni (NSException) sono usate per errori critici che di solito non vengono gestiti tramite il meccanismo normale di try-catch.
In Swift, si consiglia di usare Error e la gestione tramite do-try-catch per errori controllati, e non le eccezioni, che sono destinate a fallimenti imprevisti.
Esempio di gestione degli errori in Swift:
enum FileError: Error {
case fileNotFound
case unreadable
}
func readFile() throws {
throw FileError.fileNotFound
}
do {
try readFile()
} catch FileError.fileNotFound {
print("File non trovato")
} catch {
print("Altro errore")
}