Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-1282

Improve BPMN Error Event docs when renderer works again

    • Icon: Feature Request Feature Request
    • Resolution: Fixed
    • Icon: L3 - Default L3 - Default
    • 7.0.0
    • None
    • documentation
    • None

      Throwing Errors using BPMN 2.0

      Another possibility to raise errors is to use throwing error end events, which ends the current path of execution and throws the error:

      link to http://localhost:9779/guides/user-guide/#process-engine-delegation-code-throwing-errors-from-delegation-code

        This is the controller panel for Smart Panels app

            [CAM-1282] Improve BPMN Error Event docs when renderer works again

            takeouts:

            There is a distinction between raising errors (throw events) and handling errors (catch events).

                1. The Catching Error Event

            Note that errors are propagated to parent scopes upwards until a scope is found on which a boundary error event is defined that matches the error event definition. See [BPMN 2.0 Constructs](<%= @docUrl('api-references/bpmn20/#events-error-events') %>) for more information. An error event definition references an error element. The following is an example of an error event, referencing an error declaration:

            <error id="notOnStock" errorCode="NOT_ON_STOCK_ERROR" />
            <process>
            ...
            <serviceTask id="bookOutFromStock" .../>
            <boundaryEvent id="catchError" attachedToRef="bookOutFromStock">
            <errorEventDefinition errorRef="notOnStock"/>
            </boundaryEvent>

            You can handle errors not only with boundary events, but also by having an error sub process. This means that the normal flow iscompletely interrupted and the sub process is started:

            <center><img src="<%= @docUrl('assets/img/real-life/bpmn_error_event_subprocess.png') %>" class="img-responsive"/></center>

            Bernd Ruecker added a comment - takeouts: There is a distinction between raising errors (throw events) and handling errors (catch events). The Catching Error Event Note that errors are propagated to parent scopes upwards until a scope is found on which a boundary error event is defined that matches the error event definition. See [BPMN 2.0 Constructs] (<%= @docUrl('api-references/bpmn20/#events-error-events') %>) for more information. An error event definition references an error element. The following is an example of an error event, referencing an error declaration: <error id="notOnStock" errorCode="NOT_ON_STOCK_ERROR" /> <process> ... <serviceTask id="bookOutFromStock" .../> <boundaryEvent id="catchError" attachedToRef="bookOutFromStock"> <errorEventDefinition errorRef="notOnStock"/> </boundaryEvent> You can handle errors not only with boundary events, but also by having an error sub process. This means that the normal flow iscompletely interrupted and the sub process is started: <center><img src="<%= @docUrl('assets/img/real-life/bpmn_error_event_subprocess.png') %>" class="img-responsive"/></center>

              ruecker Bernd Ruecker
              ruecker Bernd Ruecker
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: