summaryrefslogtreecommitdiff
path: root/project2/iterate.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'project2/iterate.cpp')
-rw-r--r--project2/iterate.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/project2/iterate.cpp b/project2/iterate.cpp
index 02fc149..843d598 100644
--- a/project2/iterate.cpp
+++ b/project2/iterate.cpp
@@ -34,8 +34,16 @@ _Iterate::AddLoaders(Loaders & l, NoOutputExecutes & iterates)
void
_Iterate::executeChildren(const ApplicationEngine * ep, const PerRowValues * parent) const
{
- BOOST_FOREACH(NoOutputExecutes::value_type sq, subIterates) {
- sq.second->execute(ep, this);
+ try {
+ PerRowValues::beginRow(this);
+ BOOST_FOREACH(NoOutputExecutes::value_type sq, subIterates) {
+ sq.second->execute(ep, this);
+ }
+ PerRowValues::endRow(this);
+ }
+ catch (...) {
+ PerRowValues::endRow(this);
+ throw;
}
}