InvokeResult BasicStep::invoke(const InvokeArgs *pArgs) { this->pArgs = pArgs; currentArgIndex = 0; currentResult = InvokeResult::success(); try { InvokeResult returnedResult = invokeStepBody(); if (currentResult.isPending()) { return currentResult; } else { return returnedResult; } } catch (...) { return InvokeResult::failure(); } }
InvokeResult BasicStep::invoke(const InvokeArgs *pArgs) { this->pArgs = pArgs; currentArgIndex = 0; currentResult = InvokeResult::success(); try { InvokeResult returnedResult = invokeStepBody(); if (currentResult.isPending()) { return currentResult; } else { return returnedResult; } } catch (const std::exception& ex) { return InvokeResult::failure(ex.what()); } catch (const std::string& ex) { return InvokeResult::failure(ex); } catch (const char *ex) { return InvokeResult::failure(ex); } catch (...) { // Cucumber needs a description here return InvokeResult::failure("Unknown exception"); } }