gpt4 book ai didi

ruby - 如何在没有 catch/try/raise 的情况下展开(多级返回)堆栈?

转载 作者:数据小太阳 更新时间:2023-10-29 07:38:36 28 4
gpt4 key购买 nike

catch/try 不可用时,我想将堆栈展开到任意级别(即,我要展开的代码不在我的范围内)控制)。这可能吗?

例如,在测试中,我想让我的测试调用一个方法来检查先决条件,如果不满足这些先决条件,则展开到测试的调用者(resume at caller[1])。由于测试工具不受我控制,我无法在适当的位置设置 catch block 。

最佳答案

没有。多级返回的唯一其他机制是 callcc,但这也需要在您无法控制的级别创建延续。

也就是说,在 Ruby 中,没有什么是您无法控制的:您可以在测试框架中为该方法添加别名,并添加您想要的任何代码。

关于ruby - 如何在没有 catch/try/raise 的情况下展开(多级返回)堆栈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5006032/

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