0Pricing
Swift Academy · Aula

Encadeamento de optionals e fundamentos do tratamento de erros

Use encadeamento de optionals, padrões guard, try?/try! e do/catch para lidar com ausência e erros. Aprenda Result como alternativa.

Encadeamento de optionals e fundamentos do tratamento de erros é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 1 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.

Introdução

Esta lição relaciona opcionais ao tratamento de erros. Explore encadeamento, padrões com guard, try?/try! e Result.

Encadeamento de opcionais

O encadeamento de opcionais (a?.b?.c) interrompe a operação e retorna nil se qualquer elo for nil.

struct User { var address: Address? }
struct Address { var city: String }
let u: User? = User(address: Address(city: "Paris"))
print(u?.address?.city)   // Optional("Paris")

Padrão guard

guard let sai antecipadamente se um opcional for nil, mantendo o valor desembrulhado disponível depois.

func greet(_ name: String?) {
    guard let n = name else {
        print("No name")
        return
    }
    print("Hello, \\(n)!")
}
greet(nil)
greet("Ada")

try? versus try!

try? retorna nil quando ocorre um erro. try! causa um crash se um erro for lançado.

enum ParseErr: Error { case bad }
func parse(_ s: String) throws -> Int {
    guard let n = Int(s) else { throw ParseErr.bad }
    return n
}
let ok = try? parse("10")   // Int?
let fail = try? parse("xx") // nil
// let crash = try! parse("xx")  // runtime crash

do/catch

do/catch trata explicitamente os erros lançados.

do {
    let n = try parse("42")
    print(n)
} catch {
    print("error:", error)
}

Tipo Result

Result<T,Error> codifica sucesso ou falha sem lançar erros.

func safeParse(_ s: String) -> Result<Int,Error> {
    do { return .success(try parse(s)) }
    catch { return .failure(error) }
}
print(safeParse("5"))
print(safeParse("oops"))

Pergunta sobre encadeamento de opcionais

Verificação rápida: o que o encadeamento de opcionais faz?

Recapitulação

Recapitulação: combine opcionais e tratamento de erros. Use encadeamento, guard, try?/try!, do/catch e Result para gerenciar ausências e falhas com segurança.

Perguntas Frequentes

A aula “Encadeamento de optionals e fundamentos do tratamento de erros” é grátis?

Sim — o texto completo de “Encadeamento de optionals e fundamentos do tratamento de erros” é 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 “Encadeamento de optionals e fundamentos do tratamento de erros”?

Use encadeamento de optionals, padrões guard, try?/try! e do/catch para lidar com ausência e erros. Aprenda Result como alternativa. 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 1 de 3.

Quanto tempo leva a aula “Encadeamento de optionals e fundamentos do tratamento de erros”?

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

  1. Encadeamento de optionals e fundamentos do tratamento de erros
  2. do/catch e definição de erros (enums)
  3. Tipos Result — Result
← Voltar para Swift Academy