Here is a simple example that demonstrates use of the new policy editor , available with 12c -
This simple process checks if an order value >= 1000, if not the error is thrown.
Here is the End (Error) activity definition -
I deploy this process.
I then call this process from another one, in a separate project.
I test the happy path with an order > 1000
I also test with an order < 1000
Now I add an error handler to the calling process.
I re-test with a value < 1000
The error path is not taken -
I now add a fault policy to the project.
The following file is generated and the policy editor is active.
I now change the Default Action as follows -
This directs the BPM engine to rethrow the fault to the BPM process,
So that it can be caught and processed there.
Re-deploy and re-test
Back in the policy editor, we can make this handling more specific i.e. just for this LowValue error -
Other fault handlers can also be added -
Here I add one to handle remoteFault -
Here I specify retry as the default action.
The number of retries is configured here -
I re-deploy the calling project.
I then shutdown the called project.
I then test the calling project.