do/catch e definição de erros (enums)
Defina enums de erros, lance-os a partir de funções e trate falhas com padrões do/catch (casos específicos, catch let e catch genérico).
do/catch e definição de erros (enums) é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 2 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 3 aulas no total.
Visão geral
Esta lição se concentra em definir erros tipados e tratá-los com do/catch. Você lançará uma enumeração e capturará casos específicos para obter caminhos de recuperação claros.
Enumeração de erros
Defina uma enum personalizada que esteja em conformidade com Error. Valores associados adicionam um contexto útil.
enum FileError: Error {
case notFound(path: String)
case unreadable(path: String)
case corrupted
}
print("Defined FileError enum")Noções básicas sobre lançamento de erros
Marque com throws as funções que podem falhar. Lance casos específicos quando as pré-condições não forem atendidas.
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")Capturas específicas
Use do/try/catch. Coloque os casos específicos de catch primeiro e, depois, um catch geral para o restante.
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 e switch
Use catch let error as YourError e, em seguida, switch para formatar mensagens fáceis de entender para o usuário.
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)
}Recuperar ou relançar
Decida se deve recuperar (retornando uma alternativa de reserva) ou relançar o erro para quem chamou. Mantenha as regras simples e previsíveis.
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)")Padrão para erros personalizados
Verificação rápida: qual é a maneira idiomática de definir erros personalizados?
Recapitulação
Recapitulação: defina erros tipados com uma enumeração em conformidade com Error, throw casos precisos e trate-os por meio de do/catch, colocando primeiro os ramos específicos e deixando o genérico por último.
Perguntas Frequentes
A aula “do/catch e definição de erros (enums)” é grátis?
Sim — o texto completo de “do/catch e definição de erros (enums)” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 3 aulas no total.
O que vou aprender em “do/catch e definição de erros (enums)”?
Defina enums de erros, lance-os a partir de funções e trate falhas com padrões do/catch (casos específicos, catch let e catch genérico). Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Swift Academy?
Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 3.
Quanto tempo leva a aula “do/catch e definição de erros (enums)”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Swift Academy?
Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Encadeamento de optionals e fundamentos do tratamento de erros
- do/catch e definição de erros (enums)
- Tipos Result — Result