diff options
Diffstat (limited to 'project2/iterate.cpp')
-rw-r--r-- | project2/iterate.cpp | 12 |
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; } } |