System exceptions are often caused by temporary errors such as network connectivity failures. These are often temporary errors that can be resolved by re-trying the failed transaction.
All System exceptions have a corresponding Java exception that is included as part of the component catalog, within the standard Java module.
If a System exception occurs during the execution of a process Activity (and it is not handled within PBL code) it causes the Activity transaction to fail. The Process Execution Engine rolls the transaction back and any changes made to process instance variables are lost.
When a transaction fails due to System exception, the Process Execution Engine retries the transaction. The number of retries and amount of time in between tries is a configurable property of the Engine.
If the transaction keeps failing after the maximum number of tries, the process instance is routed to the exception handling flow defined for that type of exception.
If a System exception is raised during the execution of an interactive activity, an error message with the exception details is presented to the end user.
Special exceptions raised internally by the Process Execution Engine, such as internal database time outs and Execution Aborted exceptions, cannot be caught within PBL code or as part of a exception handling flow.