Corso di Raku / Oggetti,
input/output ed eccezioni / Eccezioni / Intercettare le eccezioni con try /
Exercises / Intercettate
l’errore
Soluzione: Intercettate l’errore
Ecco una possibile soluzione del compito.
Codice
my $ok = try { 6 * 7 };
say $ok;
my $bad = try { die 'broken' };
say $bad.defined;
say $!.message;🦋 Trova il programma nel file catch-the-error.raku.
Output
42
False
brokenCommenti
Quando il blocco gira senza errori,
tryvale semplicemente il valore del blocco, quindi$okcontiene42.Il
diedentro il secondo blocco solleva un’eccezione, quindi quel blocco vale un valore non definito e$bad.definedèFalse.L’eccezione intercettata è conservata nella variabile speciale
$!, e$!.messagerestituisce il testo che le è stato dato,broken.