【问题标题】:Throw exception when search result found找到搜索结果时抛出异常
【发布时间】:2011-12-15 20:35:05
【问题描述】:

我最近在 BS 的 c++ 书中读到,可以将递归搜索的结果立即从整个调用堆栈中返回。 在java中做同样的事情可以吗?我知道这是可能的,但是否会气馁并认为有难闻的气味? 这比使用 'found' 标志并每次都检查它更容易。

【问题讨论】:

  • 为什么要关闭投票?这是一个公平的问题。

标签: java search recursion


【解决方案1】:

我肯定会去买一面旗帜。当然你可以用Exception 来做到这一点,但它并不是为了控制代码通量,但有例外。异常不是免费的,而简单的标志检查将花费 O(1)。

【讨论】:

    【解决方案2】:

    旗帜确实是更好的选择。

    应该使用异常来处理意外行为,而不是控制程序的工作流程。请记住,抛出异常将使所有调用方法显式处理它,这将使您的代码很多比它需要的耦合度更高。

    【讨论】:

      【解决方案3】:

      您绝对应该使用标志。异常被设计用于异常情况。它们不应该是返回码。此外,抛出异常会产生相当大的成本,而检查标志是一种非常快速的操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-15
        • 1970-01-01
        • 2013-05-24
        • 2012-08-23
        • 1970-01-01
        • 2018-08-03
        • 1970-01-01
        相关资源
        最近更新 更多