Parametri in-out e gestione degli errori di base (throws)
Modifichi gli argomenti con parametri in-out e gestisca i fallimenti recuperabili usando throws, try e do/catch.
Parametri in-out e gestione degli errori di base (throws) è una lezione Swift Academy gratuita su CoddyKit. Questa è la lezione 3 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Swift Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Swift Academy include 3 lezioni in totale.
Introduzione
Questa lezione illustra i parametri in-out (che modificano la variabile del chiamante) e la gestione di base degli errori con throws, try e do/catch.
Nozioni di base su inout
inout consente a una funzione di modificare la variabile del chiamante. La chiamata si effettua con &name.
func increment(_ value: inout Int) {
value += 1 // mutate caller's variable
}
var count = 0
increment(&count)
print("count =", count) // 1Quando usarlo
Usi inout con moderazione:
- È utile per semplici modifiche (ad esempio, per i contatori).
- Per maggiore chiarezza e facilità di test, preferisca restituire nuovi valori.
throws + do/catch
Contrassegni con throws le funzioni che possono fallire. Usi do/try/catch per gestire gli errori.
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? vs try!
try? trasforma gli errori in nil (un valore opzionale). try! provoca un arresto anomalo in caso di errore: lo eviti, a meno che non sia assolutamente certo del risultato.
// 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 productionFunzioni di supporto che generano errori
È possibile generare errori dalle funzioni di supporto. Per gli errori personalizzati, preferisca piccole enumerazioni; eviti NSError diretto, salvo necessità.
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")
}Domanda su inout
Verifica rapida: che cosa significa inout per un parametro?
Riepilogo
Riepilogo: usi inout per modifiche dirette, ma con moderazione. Gestisca gli errori con throws, try e do/catch; preferisca try? per ottenere risultati opzionali ed eviti try! in produzione.
Domande Frequenti
La lezione «Parametri in-out e gestione degli errori di base (throws)» è gratuita?
Sì — il testo completo di «Parametri in-out e gestione degli errori di base (throws)» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Swift Academy, passa a CoddyKit PRO. Il corso Swift Academy include 3 lezioni in totale.
Cosa imparerò in «Parametri in-out e gestione degli errori di base (throws)»?
Modifichi gli argomenti con parametri in-out e gestisca i fallimenti recuperabili usando throws, try e do/catch. Eserciti Swift Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Swift Academy?
Non è richiesta alcuna esperienza precedente. Swift Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 3.
Quanto tempo richiede la lezione «Parametri in-out e gestione degli errori di base (throws)»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Swift Academy?
Sì. Ogni lezione Swift Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Definizione di funzioni, parametri, etichette, valori predefiniti e variadici
- Valori restituiti e restituzioni multiple tramite tuple
- Parametri in-out e gestione degli errori di base (throws)