Sobes.tech
Junior — Middle

Quelle est la différence entre les classes Error et Exception dans le contexte de la gestion des erreurs?

sobes.tech IA

Réponse de l'IA

En iOS (Swift), Error est un protocole que doivent implémenter les types décrivant des erreurs pouvant être levées et traitées. Exception en tant que type séparé n'existe pas en Swift, mais dans d'autres langages (par exemple Objective-C), les exceptions (NSException) sont utilisées pour des erreurs critiques qui ne sont généralement pas traitées via le mécanisme habituel try-catch.

En Swift, il est recommandé d'utiliser Error et la gestion via do-try-catch pour les erreurs contrôlées, plutôt que des exceptions destinées à des défaillances imprévues.

Exemple de gestion d'erreur en Swift:

enum FileError: Error {
    case fileNotFound
    case unreadable
}

func readFile() throws {
    throw FileError.fileNotFound
}

do {
    try readFile()
} catch FileError.fileNotFound {
    print("Fichier non trouvé")
} catch {
    print("Autre erreur")
}