The following diagram illustrates all system exception names in their relative position in the exception hierarchy. Each identification represents a lower level in the hierarchy.
A handler for an exception traps the exceptions that are listed beneath it (i.e., lower in the hierarchy). For example, the ERROR exception traps all detectable errors and the INTEGRITYFAIL exception traps only the exceptions listed from COMMITLIMIT to VALIDATEFAIL.

The conditions that trigger each of these exceptions are described below in alphabetical order. For more information, refer to
TIBCO Object Service Broker Programming in Rules.
The primary key for a DELETE statement does not exist or a rule running in browse mode is attempting to update a table.
The primary key provided for an INSERT statement already exists or a rule running in browse mode is attempting to update a table.
An arithmetic operator is being applied to a numeric null or a numeric null is being passed as an argument value when a numeric value is required.
A value is too large to be assigned to the target syntax. The maximum value for the syntax is inserted into the receiving field. All tables are limited to the defined dictionary length. As well, screen and report tables are also limited to the display length.
A primary key provided for a REPLACE statement does not exist or a rule running in browse mode is attempting to update a table.
A call to an OSB routine cannot complete successfully and a more specific system exception cannot be signaled.
The connection to an external database server broke during a transaction or the external database server failed.
The receiving string field is too short to contain the full length of the string value being assigned to it. The value is truncated to the length of the receiving field and inserted into that field.
A value is too small to be represented in the target syntax (usually exponent errors). The minimum value for the syntax is inserted into the receiving field.