控制流的例外情况

2023-12-06

这里有一个有趣的帖子关于这一点,与跨应用程序控制流有关。

嗯,最近,我遇到了一个有趣的问题。在潜在(实际上)无限递归序列中生成第 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 方法,您应该有一些返回值的东西,抛出异常来指示成功,这不是常见的做法,并且至少会让看到代码的任何人感到非常困惑。更不用说与异常相关的开销了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

控制流的例外情况 的相关文章

  • “包含非 LDH ASCII 字符”异常从何而来?

    我开发了一个应用程序 spring magnolia 它在新年 2018 左右开始为我抛出这个异常 但不为任何其他同事抛出异常 例外是正确的 有一个 在配置的主机名中 因此域名应该是固定的 尽管如此 它之前一直在工作 对于其他人来说它仍然在
  • 良好的类似 STL 的 C 库 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 对于具有向量 双端队列 堆栈 哈希图 树形图 集合等数据结构的 C 语言来说 有哪些好的库 请使用纯 C 并且与平台无关 The Glib
  • 在一个区域中拟合二维多边形的算法?

    这有标准吗 算法名称 说 我有 10 个不同大小的多边形 我有一个特定大小的区域 我想知道如何填充该区域中的最多多边形 以及它们是如何拟合的 笔记 多边形可以根据限制集进行旋转 一个可能的名称是包装问题 http en wikipedia
  • sigmoid 的导数

    我正在使用反向传播技术创建一个神经网络进行学习 我知道我们需要找到所使用的激活函数的导数 我正在使用标准 sigmoid 函数 f x 1 1 e x 我已经看到它的导数是 dy dx f x f x 1 f x 这可能是一个愚蠢的问题 但
  • 颜色变换器功能上的堆栈溢出错误

    我有两种颜色 红色 和 鲑鱼色 我需要动态创建面板以及面板背景颜色 这些颜色必须介于两种颜色之间 红色 public Color x y protected void Page Load object sender EventArgs e
  • 调度算法,找到设定长度的所有非重叠区间

    我需要为我的管理应用程序实现一种算法 该算法将告诉我何时可以将任务分配给哪个用户 我实现了一个蛮力解决方案 它似乎有效 但我想知道是否有更有效的方法来做到这一点 为了简单起见 我重写了算法以对数字列表进行操作 而不是数据库查询等 下面我将尝
  • 有没有比 ` except: pass` 更简洁的替代方案?

    我有一个函数 可以按偏好顺序返回多个组的随机成员 事情是这样的 def get random foo or bar I d rather have a foo than a bar if there are foos return get
  • Eiffel 中的错误处理示例

    我在 Eiffel 中找不到任何实际的错误处理示例 我只找到一些例子 要么是微不足道的 要么完全忽略错误 要么将错误处理留给读者 我有兴趣了解在没有异常的情况下错误如何通过调用堆栈 例如 我想知道发送网络请求的应用程序如何通知用户在调用链中
  • 你能用 C# 编写一个同样优雅的排列函数吗?

    我非常喜欢这个 6 行解决方案 并尝试在 C 中复制它 基本上 它会排列数组的元素 def permute xs pre if len xs 0 yield pre for i x in enumerate xs for y in perm
  • Java 中旅行商问题的暴力算法

    我正在学校的数学课上做一个项目 我选择做旅行商问题 这是我一直想进行更多研究的问题 但是 我的暴力求解算法遇到了问题 请前往底部更新查看最新版本代码 如果您知道旅行推销员问题是什么 请跳过本段 尽可能概括地说 TSP 是这样的 您是一名推销
  • 从二叉堆中查找第 k 个最小元素的 O(klogk) 时间算法

    我们有一个 n 节点二叉堆 其中包含n不同的项目 根部的最小项目 为一个k lt n 发现O klogk 时间算法选择kth堆中的最小元素 O klogn 很明显 但无法找出O klogk 一 也许我们可以使用第二个堆 但不确定 好吧 你的
  • 用于在链表中查找结点的生产代码

    我在一次采访中被问到这个问题 我被要求编写代码 用于在 O 1 空间和线性时间的生产环境中在链表 其形式为 Y 形式 双臂不一定相等 中查找结点 我想出了这个解决方案 我以前在某处见过 1 Measure lengths of both l
  • 在 Python 中从 Excel 复制 YEARFRAC() 函数

    因此 我使用 python 来自动执行一些必须在 Excel 中执行的重复任务 我需要做的计算之一需要使用yearfrac 这在Python中被复制了吗 I found this https lists oasis open org arc
  • 添加边后更新最大流量

    考虑我们有一个网络流量 并使用 Edmond Karp 算法 我们已经拥有网络上的最大流量 现在 如果我们向网络添加任意边 具有一定容量 更新最大流量的最佳方法是什么 我正在考虑更新关于新边缘的残差网络 并再次寻找增强路径 直到找到新的最大
  • 在哪里可以获得用于导入 libcore.io 的 JAR?

    我想处理一个GaiException在我的应用程序中 调试器告诉我 它位于 libcore io 包中 但导入它会产生错误 我想我需要向我的项目添加一个额外的 JAR 才能正确解析此类型 我在我的 android sdk 文件夹中进行了一些
  • 如何在引发异常时将变量传递给异常并在异常时检索它?

    现在我只有一个空白的异常类 我想知道如何在引发变量时给它一个变量 然后在 try except 中处理它时检索该变量 class ExampleException Exception pass 为其构造函数提供一个参数 将其存储为属性 然后
  • 元素属性语法和属性属性语法之间有语义差异吗?

    我认为元素属性语法和属性属性语法在语义上没有太大区别 但是 我发现一定有什么不同 例如 下面的例子只是演示了一个简单的触发器
  • 双向链表转 JSON

    我有一个三维结构 实际上是一个具有六个节点的双向链表 即左 右 上 下 进 出 如果一个节点位于另一个节点的右侧 那么该节点将毫无疑问位于第一个节点的左侧 喜欢 实际上这是一个 3D 结构 但为了便于理解 我给出了一个 2D 示例 现在我必
  • 相当于字典的数据结构?

    我正在使用 JavaScript 工作 希望保留一份设置的公里 英里 小时近似值列表 我无法以编程方式进行转换 我正在使用需要某些值的外部 API 因此它确实必须是等效的字典 目前我正在使用一个对象 var KM MPH 10 16 12
  • 最小化代表性整数的误差之和

    Given n integers between 0 10000 as D1 D2 Dn where there may be duplicates and n can be huge I want to find k distinct r

随机推荐

  • d3.js 按汇总字段排序

    我有一个 JSON 数据 我想按字段分组 然后按计数排序 var data Name Ravi Country India Name Alex Country USA Name Stew Country UK Name Mary Count
  • 时间:2019-03-27 标签:c#文件路径字符串比较大小写不敏感

    我想比较 C 中包含文件路径的两个字符串 但是 由于在 ntfs 中默认是使用不区分大小写的路径 因此我希望字符串比较以相同的方式不区分大小写 但是我似乎找不到任何有关 ntfs 如何实际实现其不区分大小写的信息 我想知道的是如何使用 nt
  • “u”和“r”字符串前缀到底有什么作用,什么是原始字符串文字?

    一边询问这个问题 我意识到我对原始字符串了解不多 对于自称是 Django 培训师的人来说 这很糟糕 我知道什么是编码 我也知道什么u 自从我了解了什么是 Unicode 以来 就只有这个了 但有什么作用r 究竟做什么 它会产生什么样的字符
  • 简单的 Twitter Oauth 授权每次都要求提供凭据

    我正在使用教程制作一个简单的基于 Twitter 的登录 注册系统here 每次让用户登录时 我都会获得 oauth token 以及 oauth 令牌秘密 但是 即使用户已经登录 系统也会要求他再次登录 我只是想知道如何检查用户是否已经登
  • 使用 JavaScript ES6 箭头函数的立即函数

    有谁知道如何使用 ES6 箭头语法编写立即函数 这是 ES3 5 的实现方式 function 我已经尝试过以下方法 但得到了unexpected token最后一行错误 gt 你可以在这里测试一下 http www es6fiddle n
  • 在 Swift 中对数组进行冒泡排序,交换时出现编译器错误

    我为纸牌游戏编写了一个非常简单的冒泡排序 它采用 Card 对象数组 每个对象都有一个 order 属性 该属性指示要针对相关游戏进行排序的值 以下代码在 Swift Beta 1 和 Beta 6 之间的某个时间停止编译 我不太清楚为什么
  • 如何测试仅调度其他操作的 Redux 操作创建者

    我在测试操作创建器时遇到问题 该操作创建器仅循环传递给它的数组并为该数组中的每个项目调度一个操作 这很简单 我只是似乎无法弄清楚 这是动作创建者 export const fetchAllItems topicIds gt return d
  • 使用 php excel reader 读取 xls 日期值

    我正在使用 PHPExcel 读取 Excel 文件中具有 Mar 13 等值的日期单元格 但它返回 41791 等整数值 请问 我需要做什么才能确保日期读取正确 Excel 将日期存储为序列化时间戳 自 1900 年 1 月 1 日以来的
  • 如何在 C 中打印二维数组而不使用运算符 []?

    我正在尝试使用打印二维矩阵 相反我想用 就像一个指针 所以对于一维数组我会这样做 arr i 例如 用于替换的语法是什么matrix 这是代码 for i 0 i lt size i for j 0 j lt size 2 j printf
  • 部分成功请求的 HTTP 状态代码

    我有一个向用户发送消息的应用程序 在 POST 请求中 传输一个 XML 字符串 其中包含应接收该特定消息的所有用户 如果列表中的任何用户不存在 我会将缺失用户的列表返回给客户以进行进一步评估 现在我问自己应用程序的正确状态代码是什么 表示
  • jquery获取图片宽度和高度

    我有一个非常简单的代码 令人烦恼的是 它正在工作 但在我的一生中 我不明白为什么它现在失败了 function imageSize img var theImage new Image theImage src img attr src v
  • 企业库 Unity 与其他 IoC 容器 [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 使用 Enterprise Library Unity 与其他 IoC 容器 Windsor Spring Net Autofac 相比有何优缺点 我正在为用户组准备演示文稿 因此 我刚刚
  • git rebase 和 git push:非快进,为什么使用?

    我有一个分支应该可供其他贡献者使用 并且应该不断与主版本保持同步 不幸的是 每次我执行 git rebase 然后尝试推送时 都会导致 非快进 消息并中止推送 推到这里的唯一方法是使用 force 这是否意味着如果我的分支公开并且其他人正在
  • 在 scipy.signal.fftconvolve 中模拟“axes”参数的紧凑方法?

    scipy signal fftconvolve似乎没有axes参数例如numpy fft fftn 意味着开箱即用 它将一起卷积all axes 我正在寻找最轻松的方法 让它只沿着给定的轴子集进行卷积 有谁知道解决方法或捷径 None
  • 如何使用掩蔽层来掩蔽 LSTM 自动编码器中的输入/输出?

    我正在尝试使用 LSTM 自动编码器以可变长度的序列作为输入进行序列到序列学习 使用以下代码 inputs Input shape None input dim masked input Masking mask value 0 0 inp
  • asp.net 中的 w3c 验证错误

    我是 W3c 验证的新手 我正在尝试修复此错误 但它没有发生 错误如下 字符 是分隔符的第一个字符 但作为数据出现 我正在使用 DataList Control 绑定数据 这是发生 w3c 验证错误的行
  • 对一列矩阵进行子集化删除行名称[重复]

    这个问题在这里已经有答案了 当我尝试按行名称对 1 列矩阵进行子集化时 子集化有效 但会返回数字向量 你能以某种方式阻止这种行为并保留行名称吗 M lt as matrix rnorm 5 rownames M lt LETTERS 1 5
  • 父母向孩子发送消息

    我有从 Parent 类继承的 Child 类 我想要的是将消息发送给孩子 孩子已经实现了该消息 所以这就像从父级调用纯虚函数一样 如果我现在从家长发送消息 我会收到警告 家长可能不会回复此消息 这是真的 因为只有 Child 实现了它 基
  • PHP SQLite JSON 数据重复

    我有以下 PHP 代码 testMessage TESTMESSAGE db new SQLite3 messages sq3 db gt exec CREATE TABLE messages id INTEGER PRIMARY KEY
  • 控制流的例外情况

    有这里有一个有趣的帖子关于这一点 与跨应用程序控制流有关 嗯 最近 我遇到了一个有趣的问题 在潜在 实际上 无限递归序列中生成第 n 个值 这个特定的算法在成功时将至少处于 10 15 个堆栈引用深度 我的第一个想法是抛出一个如下所示的 S