Curso de Raku / Objetos, entrada/salida y excepciones / Excepciones / Objetos de excepción / Exercises / Nombre el error
Solución: Nombre el error
Aquí tienes una posible solución para la tarea.
Código
sub risky {
die 'sub failed';
}
{
risky();
CATCH {
default {
say .^name;
say .message;
}
}
}🦋 Puedes encontrar el código fuente en el archivo name-the-error.raku.
Salida
X::AdHoc
sub failedComentarios
El
dieocurre dentro derisky, pero la excepción viaja hasta quien la llamó. ElCATCHdel bloque que llamó ariskyla maneja, y así es como funciona normalmente el manejo de errores: el fallo y su manejador no tienen por qué estar en la misma rutina.Un simple
diecon una cadena crea una excepciónX::AdHoc, que.^nameinforma, y.messagedevuelve el texto que se le pasó adie.