do/catch et définition des erreurs (énumérations)
Définissez des énumérations d’erreurs, lancez-les depuis des fonctions et gérez les échecs avec des schémas do/catch (cas spécifiques, catch let et catch générique).
do/catch et définition des erreurs (énumérations) est une leçon Swift Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Swift Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Swift Academy comprend 3 leçons au total.
Vue d'ensemble
Cette leçon porte sur la définition d'erreurs typées et leur gestion avec do/catch. Vous lancerez une énumération et intercepterez des cas précis pour prévoir des voies de récupération claires.
Énumération d'erreurs
Définissez une énumération personnalisée qui est conforme à Error. Les valeurs associées ajoutent un contexte utile.
enum FileError: Error {
case notFound(path: String)
case unreadable(path: String)
case corrupted
}
print("Defined FileError enum")Notions de base sur les erreurs lancées
Marquez les fonctions susceptibles d'échouer avec throws. Lancez des cas précis lorsque les préconditions ne sont pas respectées.
func loadText(from path: String) throws -> String {
if path.isEmpty { throw FileError.notFound(path: "(empty)") }
if !path.hasSuffix(".txt") { throw FileError.unreadable(path: path) }
return "Contents of " + path
}
print("Ready to throw on bad input")Interceptions spécifiques
Utilisez do/try/catch. Placez d'abord les cas catch spécifiques, puis une interception générale pour le reste.
do {
let text = try loadText(from: "notes.txt")
print(text)
} catch FileError.notFound(let p) {
print("Missing file at:", p)
} catch FileError.unreadable(let p) {
print("Cannot read:", p)
} catch {
print("Other error:", error)
}catch let et switch
Utilisez catch let error as YourError, puis switch pour formater des messages faciles à comprendre pour l'utilisateur.
do {
_ = try loadText(from: "")
} catch let error as FileError {
switch error {
case .notFound(let p): print("not found:", p)
case .unreadable(let p): print("unreadable:", p)
case .corrupted: print("file corrupted")
}
} catch {
print("unexpected:", error.localizedDescription)
}Récupérer ou relancer
Décidez de récupérer (retourner une solution de repli) ou de relancer l'erreur vers l'appelant. Gardez des règles simples et prévisibles.
func mustLoad(_ path: String) throws -> String {
do {
return try loadText(from: path)
} catch FileError.notFound {
// simple recovery: default content
return "New file template"
} catch {
// escalate unknown issues
throw error
}
}
print(try? mustLoad("report.txt") ?? "(nil)")Modèle d'erreurs personnalisées
Vérification rapide : quelle est la manière idiomatique de définir des erreurs personnalisées ?
Récapitulatif
Récapitulatif : définissez des erreurs typées avec une énumération conforme à Error, lancez des cas précis avec throw et gérez-les via do/catch, en plaçant d'abord les branches spécifiques et la branche générale en dernier.
Questions Fréquemment Posées
La leçon « do/catch et définition des erreurs (énumérations) » est-elle gratuite ?
Oui — le texte complet de « do/catch et définition des erreurs (énumérations) » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Swift Academy, passe à CoddyKit PRO. Le cours Swift Academy comprend 3 leçons au total.
Qu'est-ce que j'apprendrai dans « do/catch et définition des erreurs (énumérations) » ?
Définissez des énumérations d’erreurs, lancez-les depuis des fonctions et gérez les échecs avec des schémas do/catch (cas spécifiques, catch let et catch générique). Tu pratiques Swift Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Swift Academy ?
Aucune expérience préalable n'est requise. Swift Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 3.
Combien de temps prend la leçon « do/catch et définition des erreurs (énumérations) » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Swift Academy ?
Oui. Chaque leçon Swift Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Chaînage optionnel et notions de base de la gestion des erreurs
- do/catch et définition des erreurs (énumérations)
- Types Result — Result