예제 #1
0
void PlanOperation::operator()() noexcept {
  if (allDependenciesSuccessful()) {
    try {
      LOG4CXX_DEBUG(logger, "Executing " << vname() << "(" << _operatorId << ")");
      execute();
      return;
    }
    catch (const std::exception& ex) {
      setErrorMessage(ex.what());
    }
    catch (...) {
      setErrorMessage("Unknown error");
    }
  }
  setState(OpFail);
}
예제 #2
0
void _PlanOperation::operator()() noexcept {
  if (allDependenciesSuccessful()) {
    try {
      LOG4CXX_DEBUG(logger, "Virtual operator called " << vname() << "(" << _operatorId << ")");
      execute();
      return;
    } catch (const std::exception &ex) {
      setErrorMessage(ex.what());
    } catch (...) {
      setErrorMessage("Unknown error");
    }
  } else { // dependencies were not successful
    setErrorMessage(getDependencyErrorMessages());
  }
  LOG4CXX_ERROR(logger, this << " " << planOperationName() << " failed: " << getErrorMessage());
  setState(OpFail);
}