AD

¿Ya dominas lo básico? Un curso estructurado de Objective-C es la vía rápida para dar el salto.

Ver cursos de Objective-C en Udemy

Enlace de afiliado. No te cuesta nada extra.

🍎Lecciones de Objective-C
Lección 10 / 68

Gestión de errores (@try / @catch)

En esta lección capturarás un fallo en tiempo de ejecución en vez de dejar que termine el programa.

@try { ... } @catch (NSException *exception) { ... } captura la excepción, y exception.reason da el texto que la describe.

El código de ejemplo accede a una posición que no existe en un array, lo que lanza una excepción.

Aquí hay un punto importante sobre la salida de referencia. Ese texto lo genera el sistema operativo, no la lección: siempre está en inglés, sea cual sea el idioma del equipo, y cambia entre versiones de macOS. En versiones recientes es bastante más largo e incluye el nombre interno de la clase y del método. Si al ejecutarlo ves un texto distinto del que aparece aquí, no has hecho nada mal.

Y algo que sorprende a quien viene de Java o de Swift: en Objective-C las excepciones no se usan para los errores esperables. Un archivo que no existe o una red caída se comunican con NSError, que verás en otra lección. Las excepciones se reservan para fallos de programación —un índice fuera de rango, un mensaje a un objeto que no lo entiende— y la costumbre es dejarlas terminar el programa en desarrollo, porque señalan un error que hay que arreglar.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Objective-C directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)