The SOM run-time library also provides a way to handle SOM errors by invoking macros (SOM_ERROR and SOM_TEST) that call a replaceable SOM procedure called SomError. SomError produces a message, an error code and, if appropriate, can end the process where the error occurred. SOM errors are classified by severity, which is indicated in the low-order digit of the SOM error code. There are three SOM error classes, or severity levels, as shown in the following table:
┌───────────────┬─────────────────────────────────────────────┐ │Severity Level │Description │ ├───────────────┼─────────────────────────────────────────────┤ │SOM_Fatal │Abnormal and irrecoverable. │ ├───────────────┼─────────────────────────────────────────────┤ │SOM_Ignore │Normal and informational only. │ ├───────────────┼─────────────────────────────────────────────┤ │SOM_Warn │Abnormal but not irrecoverable. │ └───────────────┴─────────────────────────────────────────────┘