Sobes.tech
Junior — Middle

¿En qué se diferencian las clases Error y Exception en el contexto del manejo de errores?

sobes.tech AI

Respuesta de la IA

En iOS (Swift), Error es un protocolo que deben implementar los tipos que describen errores que pueden ser lanzados y manejados. Exception como un tipo separado no existe en Swift, pero en otros lenguajes (por ejemplo, Objective-C), las excepciones (NSException) se utilizan para errores críticos que generalmente no se manejan mediante el mecanismo habitual de try-catch.

En Swift, se recomienda usar Error y el manejo mediante do-try-catch para errores controlados, en lugar de excepciones, que están destinadas a fallos imprevistos.

Ejemplo de manejo de errores en Swift:

enum FileError: Error {
    case fileNotFound
    case unreadable
}

func readFile() throws {
    throw FileError.fileNotFound
}

do {
    try readFile()
} catch FileError.fileNotFound {
    print("Archivo no encontrado")
} catch {
    print("Otro error")
}