gpt4 book ai didi

algorithm - 控制流异常

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:08:33 25 4
gpt4 key购买 nike

an interesting post over here关于这一点,与跨应用程序控制流有关。

嗯,最近,我遇到了一个有趣的问题。在潜在(实际上)无穷无尽的递归序列中生成第 n 个值。这个特定的算法在成功时将至少有 10-15 个堆栈引用深度。我的第一个想法是抛出一个看起来像这样的 SuccessException (C#):

class SuccessException : Exception
{
public string Value
{ get; set; }

public SuccessException(string value)
: base()
{
Value = value;
}
}

然后做这样的事情:

try
{
Walk_r(tree);
}
catch (SuccessException ex)
{
result = ex.Value;
}

然后我的思绪又回到了这里,我一遍又一遍地听到永远不要使用异常来进行流量控制。有没有借口?如果您要实现这样的结构,您会如何构建?

最佳答案

在这种情况下,我会查看您的 Walk_r 方法,您应该有一些返回值的东西,抛出异常以指示成功,这不是常见的做法,至少会让任何看到的人感到困惑代码。更不用说与异常相关的开销。

关于algorithm - 控制流异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/174458/

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