Hi there.
So I wanted to use boundary error and escalation events to catch any error/escalation that may appear within a subprocess (i.e. without defining an error/escalation code on the catching event).
I got myself pretty confused, but I have untied the knot and think the documentation and modeler might need some improvement. Maybe even the engine. Here’s my case:
I’m using Modeler 5.12.0 (target platform is 8.2) and Platform 8.2.5
The documentation (for 8.2) says:
- “A catch event with an empty escalationCode will catch all thrown escalations.”
- “A catch event with an empty errorCode will catch all thrown errors.”
In both cases, when I leave the error/escalation code empty, I get the error message “Code must be defined.” in the modeler’s properties panel.
I’m still able to deploy the process, but the process doesn’t work as expected, i.e. no error/escalation is caught.
I reckon this might be fixed for errors https://github.com/camunda/zeebe/pull/12840 in newer engine releases (not yet in 8.2.5 or 8.3.0-alpha2 per Operate) but I found no corresponding issue for escalation events.
I found that you actually have to set “Global error/escalation reference” to “< none>”.
This will work for both error and escalation. However, despite working in the engine, this will give two error messages for escalation events:
- “Element of type < bpmn:EscalationEventDefinition> must have property < escalationRef>” in the problems panel
- “Global escalation reference must be defined.” in the properties panel.
I hope this helps.
Kind regards.
error-and-escalation-code-empty.bpmn (13.8 KB)