Cursus Raku / Obiecta, introitus et exitus, et exceptiones / Exceptiones / Exceptiones propriae / Exercises / Duo genera exceptionum
Solutio: Duo genera exceptionum
Ecce solutio possibilis huius exercitationis.
Codex
class TooSmall is Exception {
method message { 'too small' }
}
class TooBig is Exception {
method message { 'too big' }
}
for TooSmall, TooBig -> $type {
{
$type.new.throw;
CATCH {
when TooSmall { say 'small' }
when TooBig { say 'big' }
}
}
}🦋 Inveni codicem fontem in archivo two-exceptions.raku.
Exitus
small
bigCommentarii
Anulus
TooSmallin primo transitu etTooBigin secundo iacit, utramque intra propriam clausulam cum proprioCATCH.Fasis
CATCHramumwhenpro unoquoque genere exceptionis habet. In unoquoque transitu solus ramus generi iacto conveniens currit — itaque primus transitussmallimprimit et secundusbig. Sic una series tractatorum ad diversa errorum genera diverse reagit.