【问题标题】:Using try/catch with C++ arrays对 C++ 数组使用 try/catch
【发布时间】:2016-03-08 05:46:26
【问题描述】:

我正在尝试制作二十一点模拟器。 Player 是一个类,用于存储从牌组中发来的牌。如何使用 try/catch 编写这个函数?

void Player::acceptCard(Card c)
{
    //        as long as there is space in the array myCards, place Card c into myCards
    //        if there is not enough space for another card, throw an exception
}

【问题讨论】:

    标签: c++ try-catch


    【解决方案1】:

    我更喜欢这里的简单布尔返回而不是异常:

    在 C++ 中,您无法确定您的异常是否会在某处被捕获(与 Java 相对)。如果有人使用您的类接口,他不知道可以抛出的异常(当然,除非他查看文档)。但是返回类型是立即可见的。在我目前工作的公司中,我们使用的异常不是errors(例如,数组中没有足够的空间)而是exceptions(发生的事情让你别无选择但可能会写一些错误日志然后退出你的应用程序)

    但是:如果你仍然想这样做:

    1. 创建您自己的异常类型,它继承自std::exception
    2. 抛出该异常
    3. 用 try ... catch 包围你的函数调用

    【讨论】:

      猜你喜欢
      • 2021-11-25
      • 1970-01-01
      • 2013-06-04
      • 2010-10-31
      • 1970-01-01
      • 1970-01-01
      • 2012-10-16
      • 1970-01-01
      相关资源
      最近更新 更多