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
brokenComentarios
Cuando el bloque se ejecuta sin errores,
trysimplemente vale el valor del bloque, así que$okcontiene42.El
diedentro del segundo bloque lanza una excepción, así que ese bloque vale un valor no definido y$bad.definedesFalse.La excepción capturada se guarda en la variable especial
$!, y$!.messagedevuelve el texto que se le dio,broken.