0Pricing
Swift Academy · Aula

Parâmetros in-out e tratamento básico de erros (throws)

Modifique argumentos com parâmetros in-out e trate falhas recuperáveis usando throws, try e do/catch.

Parâmetros in-out e tratamento básico de erros (throws) é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 3 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 aborda parâmetros in-out (que modificam a variável de quem chama) e o tratamento básico de erros com throws, try e do/catch.

Noções básicas de inout

inout permite que uma função modifique a variável de quem a chama. Faça a chamada com &name.

func increment(_ value: inout Int) {
    value += 1   // mutate caller's variable
}
var count = 0
increment(&count)
print("count =", count)  // 1

Quando usar

Use inout com moderação:

  • É adequado para mutações simples, como contadores.
  • Prefira retornar novos valores para obter mais clareza e facilidade de teste.

throws + do/catch

Marque com throws as funções que podem falhar. Use do/try/catch para tratar erros.

enum FileError: Error { case notFound, unreadable }

func readFile(named: String) throws -> String {
    if named.isEmpty { throw FileError.notFound }
    return "contents of \\(named)"
}

// Calling a throwing function
do {
    let text = try readFile(named: "notes.txt")
    print(text)
} catch {
    print("Failed:", error)
}

try? versus try!

try? transforma erros em nil (opcional). try! causará uma falha do aplicativo em caso de erro — evite-o, a menos que tenha certeza absoluta.

// try? converts errors to nil (optional)
let maybeText = try? readFile(named: "")
print(maybeText as Any)  // nil

// try! crashes on error—only use when you are sure
// let forcedText = try! readFile(named: "")  // avoid in production

Funções auxiliares que lançam erros

Você pode lançar erros a partir de funções auxiliares. Prefira enumerações pequenas para erros personalizados; evite NSError, a menos que seja necessário.

func parseInt(_ s: String) throws -> Int {
    if let n = Int(s) { return n }
    else { throw NSError(domain: "Parse", code: 1) }
}

do {
    let n = try parseInt("10")
    print("n =", n)
} catch {
    print("parse error")
}

Pergunta sobre inout

Verificação rápida: o que inout significa para um parâmetro?

Recapitulação

Recapitulação: use inout para mutação direta, com moderação. Trate falhas com throws, try e do/catch; prefira try? para resultados opcionais e evite try! em produção.

Perguntas Frequentes

A aula “Parâmetros in-out e tratamento básico de erros (throws)” é grátis?

Sim — o texto completo de “Parâmetros in-out e tratamento básico de erros (throws)” é 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 “Parâmetros in-out e tratamento básico de erros (throws)”?

Modifique argumentos com parâmetros in-out e trate falhas recuperáveis usando throws, try e do/catch. 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 3 de 3.

Quanto tempo leva a aula “Parâmetros in-out e tratamento básico de erros (throws)”?

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. Definição de funções, parâmetros, rótulos, valores padrão e argumentos variádicos
  2. Valores de retorno e múltiplos retornos por meio de tuplas
  3. Parâmetros in-out e tratamento básico de erros (throws)
← Voltar para Swift Academy