Errors generated by the Policy Exception rules

Generally, if any of the exception rules throw an error, PolicyCenter logs the exception. PolicyCenter rolls back any changes made by the exception rules to that PolicyPeriod. (This is not true, however, if you made the changes in a separate bundle, which Guidewire explicitly does not recommend.) PolicyCenter handles each PolicyPeriod over which it runs the exception rules in a separate transaction. Therefore, if PolicyCenter encounters an error in PolicyPeriod B, it does not roll back changes to PolicyPeriod A.

A special loophole exists in the case of the ConcurrentDataChangeError error, which occurs any time that two separate transactions try to change the same data. This can happen quite easily in exception rules. For instance, imagine that someone is the process of editing a PolicyPeriod entity at the same time that the exception rules try to make changes to it. If there is a ConcurrentDataChangeError, the batch process still rolls back the changes, but remembers the ID of the PolicyPeriod. It then tries to run exception rules on it again at a later time. This is standard behavior across all exception rules.