summaryrefslogtreecommitdiffstats
path: root/src/uscxml/messages/Event.h
diff options
context:
space:
mode:
authorazhornyak <alexander.zhornyak@gmail.com>2017-05-13 15:43:52 (GMT)
committerazhornyak <alexander.zhornyak@gmail.com>2017-05-13 15:43:52 (GMT)
commit82087b37adc295d1aab5afd51f855f8d9f0923f8 (patch)
treeb4fe19d3abafa2e0ef4905bfb45b47d24c3bff15 /src/uscxml/messages/Event.h
parentdacba30880611af98b40ed908797da935a185d81 (diff)
downloaduscxml-82087b37adc295d1aab5afd51f855f8d9f0923f8.zip
uscxml-82087b37adc295d1aab5afd51f855f8d9f0923f8.tar.gz
uscxml-82087b37adc295d1aab5afd51f855f8d9f0923f8.tar.bz2
Fixes issue #126
Fixes issue #128 Fixes issue #124 Fixes issue #118
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); \