Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation/Abstract
please describe in 1-3 sentences,
I wanted to be able to handle "Technical Error" which should cause the engine to stop executing the process and surface the error. Also I wanted to be able to raise "Business Errors" using
Error Eventsand usingError Boundary EventandEvent Sub Processes.Examples: This is a bug fix for ... ; I want to use this BPMN extension attributes 'X' for my project 'Y'...
Description/Comments
job.Fail(), when a job fails it now also fails the process instancejob.ThrowError()LogEventExporterwhich is handy for unit tests to see the sequence that was executedThe following elements are now additional read from the BPMN file
Definitions.ErrorsDefining the errors that can be used in the proccessProcess.BoundaryEventDefines all boundary events and where they are attachedThe following flows are implemented:

A service/user task with an attached ErrorBoundaryEvent catching the specific error being thrown
A service/user task with an attached ErrorBoundaryEvent catching all errors
A service/user task with 2 attached

ErrorBoundaryEvents the specificErrorBoundaryEventwill be activated, or the "catch-all"ErrorBoundaryEventif not specifically matchedEvent Sub Process can be used to catch the error

If both

ErrorBoundaryEvents andEvent Sub Processexist. The error will be handled by the handler that best matches the Error Event. See Catching the errorStill not supported:
Checklist
Depending on your PR, please ensure the overall consistency/integrity of the project remains.
Please tick just one check item per section below
Tests
Code examples
Documentation