gpt4 book ai didi

raku - 定义自己的 CONTROL 异常

转载 作者:行者123 更新时间:2023-12-04 14:22:22 25 4
gpt4 key购买 nike

主题说明了一切:我可以定义自己的控制异常,该异常将由 CONTROL 处理吗?堵塞?应用 X::Control 角色是没有用的:

 class CX::Whatever does X::Control {
method message { "<whatever control exception>" }
}

do {
CX::Whatever.new.throw;
CONTROL {
say "CONTROL!!!";
default {
say "CONTROL: ", $_.WHAT;
}
}
}

通过查看核心资源,我可以猜测只有一组预定义的异常被认为适用于 CONTROL ,但不确定我没有错过任何东西。

最佳答案

这在过去是不可能的,但是您远不是第一个提出要求的人。自定义控制异常将为框架风格的事物提供一种无需 CATCH 即可进行内部控制流的方法。/default在用户代码中意外吞下了异常。

Bleeding edge Rakudo 现在包含了获取 X::Control 的初始实现作为控制异常的指示,这意味着您编写的代码现在按照您的预期执行。抛开反对意见,这将出现在 2019.01 Rakudo 版本中,但是在它也出现在语言规范版本中之前,这应该被视为一个草案功能。

此外,还添加了建议的规范测试,因此除非有异议,否则将在 future 的 Perl 6 语言版本中指定此功能。

关于raku - 定义自己的 CONTROL 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54155892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com