CATCH 블록이 실패를 처리 할 수 있다는 것을 알고 있습니다.
다음 예에서는 'AdHoc'실패 (다른 서브)를 작성하고 CATCH 블록 (예 : my-sub)의 예외를 처리합니다.
sub my-sub {
try {
CATCH {
when X::AdHoc { say 'AdHoc Exception handled here'; .resume }
default {say 'Other Exception'; .resume}
}
my $b = other-sub();
$b.so ?? $b.say !! 'This was a Failure'.say;
}
}
sub other-sub { fail 'Failure_X' }
my-sub();
출력은 다음과 같습니다.
AdHoc Exception handled here
This was a Failure
내 질문은 : 두 경우를 구별하기 위해 CATCH 블록에서 실패와 "정상"예외를 어떻게 구분할 수 있습니까?