gpt4 book ai didi

c++ - 如何处理失败的方法 : by using exceptions or making the methods return bool?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:52:36 28 4
gpt4 key购买 nike

如何处理失败的方法:

  1. 使用异常
  2. 使方法返回 bool 值

第一种方法是当出现问题时抛出异常。但是有问题的代码需要放在try block 中,然后你需要编写 catch block 。

您需要检查返回值的第二种方法方法,然后做一些事情。

那么基本上不是同一个机制吗?你有两个部分:检测到出现问题然后采取措施。那么我使用哪种方法重要吗?

最佳答案

异常的主要好处是它们是非本地的。您可以在抛出异常的地方捕获几个调用层之外的异常。这样,介于两者之间的代码就不必关心异常(除了确保在展开期间进行适当的清理,即异常安全),这使得异常情况不太可能被遗忘。但这种好处是有代价的:堆栈展开比简单地返回一个值要复杂得多。在性能方面,返回值方法通常更简单。

所以我会使用这些来选择:如果出于某种原因处理问题的唯一合理位置是直接在函数被调用的位置,并且如果您相当确定每个调用者都会包含某种类型的任何情况下的错误处理代码,并且不太可能忘记这样做,那么返回值将是最好的。否则,我会破例。

关于c++ - 如何处理失败的方法 : by using exceptions or making the methods return bool?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20682895/

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