Parámetros in-out y manejo básico de errores (throws)
Modifique argumentos con parámetros in-out y gestione fallos recuperables mediante throws, try y do/catch.
Parámetros in-out y manejo básico de errores (throws) es una lección gratuita de Swift Academy en CoddyKit. Esta es la lección 3 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Swift Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Swift Academy incluye 3 lecciones en total.
Introducción
En esta lección se explican los parámetros inout (que modifican la variable de quien llama) y el manejo básico de errores con throws, try y do/catch.
Conceptos básicos de inout
inout permite que una función modifique la variable de quien la llama. Llame a la función con &name.
func increment(_ value: inout Int) {
value += 1 // mutate caller's variable
}
var count = 0
increment(&count)
print("count =", count) // 1Cuándo usarlo
Use inout con moderación:
- Es adecuado para mutaciones sencillas, como los contadores.
- Prefiera devolver valores nuevos para mejorar la claridad y la facilidad de prueba.
throws + do/catch
Marque con throws las funciones que pueden fallar. Use do/try/catch para gestionar los errores.
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? frente a try!
try? convierte los errores en nil (un valor opcional). try! provoca un fallo si se produce un error; evítelo salvo que tenga 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 productionFunciones auxiliares que lanzan errores
Puede lanzar errores desde funciones auxiliares. Prefiera enum pequeños para los errores personalizados y evite NSError sin procesar salvo que sea necesario.
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")
}Pregunta sobre inout
Comprobación rápida: ¿Qué significa inout para un parámetro?
Resumen
Resumen: Use inout para realizar mutaciones directas, pero con moderación. Gestione los fallos con throws, try y do/catch; prefiera try? para obtener resultados opcionales y evite try! en producción.
Preguntas frecuentes
¿La lección «Parámetros in-out y manejo básico de errores (throws)» es gratis?
Sí — el texto completo de «Parámetros in-out y manejo básico de errores (throws)» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Swift Academy, actualiza a CoddyKit PRO. El curso de Swift Academy incluye 3 lecciones en total.
¿Qué aprenderé en «Parámetros in-out y manejo básico de errores (throws)»?
Modifique argumentos con parámetros in-out y gestione fallos recuperables mediante throws, try y do/catch. Practicas Swift Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Swift Academy?
No se requiere experiencia previa. Swift Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 3.
¿Cuánto tiempo toma la lección «Parámetros in-out y manejo básico de errores (throws)»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Swift Academy?
Sí. Cada lección de Swift Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Definición de funciones, parámetros, labels, valores predeterminados y variádicos
- Valores de retorno y múltiples retornos mediante tuplas
- Parámetros in-out y manejo básico de errores (throws)