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 25 / 68

Errores propios (clasificar con NSError)

En esta lección comunicarás un fallo esperable sin usar excepciones.

El patrón es característico del mundo de Apple: la función devuelve BOOL para indicar si fue bien, y recibe un NSError ** por el que deja los detalles si algo falló.

El código de ejemplo valida una edad y rellena el error cuando es negativa.

Un NSError tiene tres partes: un dominio que identifica de qué subsistema viene, un código numérico, y un diccionario con información adicional donde NSLocalizedDescriptionKey guarda el texto para la persona usuaria. Esa palabra «Localized» no es casual: es el sitio donde se pone el mensaje ya traducido al idioma del dispositivo, mientras que el dominio y el código se quedan en inglés porque los lee el programa.

Fíjate en if (error) antes de escribir: quien llama puede pasar NULL si no le interesa el detalle, y escribir sin comprobar reventaría.

Esta separación —NSError para lo esperable, excepciones para los fallos de programación— es la convención firme del ecosistema, y es la que Swift heredó con throws.

📖 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)