Curso de Raku / Objetos, entrada/salida y excepciones / Excepciones / Capturar excepciones con try / Exercises / Capture el error

Solución: Capture el error

Aquí tienes una posible solución para la tarea.

Código

my $ok = try { 6 * 7 };
say $ok;

my $bad = try { die 'broken' };
say $bad.defined;
say $!.message;

🦋 Puedes encontrar el código fuente en el archivo catch-the-error.raku.

Salida

42
False
broken

Comentarios

  1. Cuando el bloque se ejecuta sin errores, try simplemente vale el valor del bloque, así que $ok contiene 42.

  2. El die dentro del segundo bloque lanza una excepción, así que ese bloque vale un valor no definido y $bad.defined es False.

  3. La excepción capturada se guarda en la variable especial $!, y $!.message devuelve el texto que se le dio, broken.

Capture el error   |   Cuando nada va mal