summaryrefslogtreecommitdiffstats
path: root/src/uscxml/interpreter/BasicContentExecutor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/uscxml/interpreter/BasicContentExecutor.cpp')
-rw-r--r--src/uscxml/interpreter/BasicContentExecutor.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/uscxml/interpreter/BasicContentExecutor.cpp b/src/uscxml/interpreter/BasicContentExecutor.cpp
index 4443237..f3f5376 100644
--- a/src/uscxml/interpreter/BasicContentExecutor.cpp
+++ b/src/uscxml/interpreter/BasicContentExecutor.cpp
@@ -512,7 +512,7 @@ void BasicContentExecutor::raiseDoneEvent(XERCESC_NS::DOMElement* state, XERCESC
try {
// namelist
processNameLists(doneEvent.namelist, doneData);
- } catch (Event e) {
+ } catch (ErrorEvent e) {
ERROR_EXECUTION_RETHROW(e, "Syntax error in donedata element namelist", doneData);
}
@@ -520,7 +520,7 @@ void BasicContentExecutor::raiseDoneEvent(XERCESC_NS::DOMElement* state, XERCESC
try {
// params
processParams(doneEvent.params, doneData);
- } catch (Event e) {
+ } catch (ErrorEvent e) {
ERROR_EXECUTION_RETHROW(e, "Syntax error in donedata element param expr", doneData);
}
@@ -530,7 +530,7 @@ void BasicContentExecutor::raiseDoneEvent(XERCESC_NS::DOMElement* state, XERCESC
if (contents.size() > 0) {
doneEvent.data = elementAsData(contents.front());
}
- } catch (Event e) {
+ } catch (ErrorEvent e) {
ERROR_EXECUTION_RETHROW(e, "Syntax error in donedata element content", doneData);
}
@@ -542,7 +542,10 @@ void BasicContentExecutor::raiseDoneEvent(XERCESC_NS::DOMElement* state, XERCESC
_callbacks->enqueueInternal(e);
// std::cout << exc << std::endl;
// throw e;
- }
+ } catch (Event e) {
+ ERROR_EXECUTION_RETHROW(e, "Error in donedata element", doneData);
+ }
+
}
_callbacks->enqueueInternal(doneEvent);