is Exception
此角色将异常转换为 控制异常,例如 CX::Next
或 CX::Take
。除了定义之外,它没有其他代码。
自 Rakudo 2019.03 起,throw
混合在此角色 X::Control
中的对象可以引发控制异常,该异常由 CONTROL phaser 捕获,而不是 CATCH。这允许定义自定义控制异常。
例如,我们在下面定义的自定义 CX::Vaya
控制异常
does X::Controlsub eaea;# OUTPUT: «Controlled CX::Vaya: I messed up!»