summaryrefslogtreecommitdiffstats
path: root/src/uscxml/messages/Event.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/uscxml/messages/Event.h')
-rw-r--r--src/uscxml/messages/Event.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/uscxml/messages/Event.h b/src/uscxml/messages/Event.h
index b774f8a..fd9dd42 100644
--- a/src/uscxml/messages/Event.h
+++ b/src/uscxml/messages/Event.h
@@ -77,6 +77,14 @@
throw exc;\
}
+#define ERROR_EXECUTION_THROW3(evt,caption,node) \
+{\
+ auto it = evt.data.compound.find("cause"); \
+ ERROR_EXECUTION2(exc,it!=evt.data.compound.end() ? it->second.atom : "",node); \
+ exc.data.compound["caption"] = uscxml::Data(caption, uscxml::Data::VERBATIM); \
+ throw exc;\
+}
+
#define ERROR_COMMUNICATION_THROW(cause) \
{\
ERROR_COMMUNICATION(exc, cause); \