重复检查布尔值的更好方法?

时间:2019-05-09 15:47:04

标签: c++11

我有一个通过调用多个不同方法来控制进程的类。如果这些方法中出现问题,那么它们将更改布尔值。更改值时,控制器不应调用任何其他方法。 当前看起来像这样:

bool importantBool = true;

void doIt()
{
  if(importantBool)
  {
     doFirstThing();
  }
  if(importantBool)
  {
     doSecondThing();
  }
  if(importantBool)
  {
     doThirdThing();
  }
  //etc.pp.
}

是否有一种方法可以停止对布尔值的重复调用并使此代码更易于阅读(和编写)?

1 个答案:

答案 0 :(得分:0)

您可以使这些函数在出错时返回bool false并将它们与逻辑and链接起来:

doFirstThing() && doSecondThing() && doThirdThing();

另一种方法是throw发生这些函数中的错误异常(如果这确实是异常错误)。