AD

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

Ver cursos de Julia en Udemy

Enlace de afiliado. No te cuesta nada extra.

🟣Lecciones de Julia
Lección 25 / 68

Crear tu propio tipo de excepción

En esta lección crearás un tipo de error propio para poder distinguirlo de los demás.

Basta con declarar un struct que sea subtipo de Exception. Se lanza con throw y se distingue con e isa ValidationError.

El código de ejemplo valida una edad y lanza su propio error cuando es negativa.

Aquí se ve una diferencia con otros lenguajes: Julia no tiene catch por tipo. Solo hay un catch que recibe cualquier excepción, y dentro se comprueba de qué tipo es con isa. Es más verboso y encaja con el diseño del lenguaje, donde el despacho por tipo se hace con funciones y no con estructuras de control.

La consecuencia práctica que conviene vigilar: si tu catch solo trata un tipo y llega otro, el error desaparece en silencio. Lo correcto es terminar con un else rethrow(), para que lo que no sabes tratar siga subiendo.

Definir showerror para tu tipo hace que el mensaje se vea bien cuando el error no se captura, y es lo que hacen los paquetes serios.

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

🧪 Este sitio no puede compilar ni ejecutar Julia 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)