将try / catch与C ++数组一起使用

时间:2016-03-08 05:46:26

标签: c++ try-catch

我试图制作一个二十一点模拟器。玩家是一个存储从牌组发出的牌的类。如何使用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
}

1 个答案:

答案 0 :(得分:0)

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

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

但是:如果你想这样做:

  1. 创建自己的例外类型,该类型继承自std::exception
  2. 抛出异常
  3. 使用try ... catch
  4. 围绕您的函数调用